2011-04-20 2 views
2

내 데이터 그리드 :WPF 데이터 그리드를 IEnumerable 바인딩 <KeyValuePair <INT, CustomType >>

<DataGrid ItemsSource="{Binding Path=Question.Variations}" AutoGenerateColumns="False" 
      Height="97" HorizontalAlignment="Left" Margin="7,6,0,0" Name="dataGrid1" 
      VerticalAlignment="Top" Width="322"> 
    <DataGrid.Columns> 
     <DataGridTextColumn Header="Variatienr" Binding="{Binding Key}"/> 
     <DataGridTextColumn Header="# vraagparameters" 
      Binding="{Binding Value.QuestionParameters.Count}"/> 
     <DataGridTextColumn Header="# antwoordparameters" 
      Binding="{Binding Path=((TypedFieldsVariation)Value).Answers.Count}"/> 
    </DataGrid.Columns> 
</DataGrid> 

다음 열 헤더를 제외하고 아무것도 보이지 않는다 : 나는이 아마 잘못 알고

<DataGridTextColumn Header="# antwoordparameters" 
      Binding="{Binding Path=((TypedFieldsVariation)Value).Answers.Count}"/> 

을하지만, 이제 내 질문은 내가 어떻게 그것을 보여줄 것인가?

itemssourceIEnumerable<KeyValuePair<int, Variation>> Variations

Variation 2 개 서브 클래스, MultipeChoiceVariation 지금은 재산 '답변'원하고 나는 데이터 그리드에 대한 itemssource의 모든 변화가 있음을 확신 TypedFieldsVariation

을 가지고있다 TypedFieldsVariations

답변

2

괄호를 잃어 경로에서 캐스팅하면 작동합니다.

Path=Value.Answers.Count 

출력 창에서 바인딩 오류를 확인하는 방법이 작동하지 않으면 잘못 된 것의 단서를 얻을 수 있습니다. Count이 기능이 아닌 속성인지 확인하십시오.

+0

감사합니다. 작동 중입니다. – Stef

+2

@Stef - 슬러거 답변에 만족하면 답변 왼쪽의 "진드기"를 클릭하여 "수락 됨"으로 표시하십시오. 그건 슬러거 **와 ** 평판 포인트로 당신에게 보상 할 것이고 또한 이것이 다른 사람에게 * 올바른 * 대답임을 나타낼 것입니다. * (많은/대답을 수락하지 않은 사용자의 질문에 답을 제공하는 것을 꺼려 할 수 있으므로 다른 질문에 대해서도 동일하게 생각하는 것이 좋습니다) * =) – Rob

관련 문제