Привязка WPF DataGrid к IEnumerable> - PullRequest
       9

Привязка WPF DataGrid к IEnumerable>

2 голосов
/ 20 апреля 2011

Моя DataGrid:

<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}"/>

Я знаю, что это, вероятно, неправильно, но теперь мой вопрос, как мне показать?

itemssource - это IEnumerable<KeyValuePair<int, Variation>> Variations

Variation, имеет 2 подкласса, MultipeChoiceVariation и TypedFieldsVariation

Теперь я хочу свойство 'Ответы' иЯ уверен, что все вариации в источнике элементов для сетки данных: TypedFieldsVariations

1 Ответ

2 голосов
/ 20 апреля 2011

Если вы потеряете скобки и приведете приведение типа из Path, это должно сработать:

Path=Value.Answers.Count

Если это не сработает так, как вы ожидаете, тогда проверьте окно вывода на наличие ошибок привязки, оно даст вам подсказки о том, что пошло не так. Просто убедитесь, что Count это свойство, а не функция.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...