У меня есть 3 таблицы: Элемент - это DataContext - он имеет столбец навигации Группа Группа - содержит навигационную колонку Категория.Проблема привязки DataGridComboBoxColumn.ItemsSource
Я хочу иметь в столбцах DataGrid (категория &) столбцы, и когда я выбираю категорию, она должна отображать в группе col только категорию. Группы.
Вот код, я работаю над:
<tk:DataGrid AutoGenerateColumns="False" ItemsSource="{Binding}">
<tk:DataGrid.Columns>
<!--Works-->
<tk:DataGridComboBoxColumn
Header="Categroy"
DisplayMemberPath="Title"
SelectedValuePath="CategoryId"
SelectedValueBinding="{Binding Group.Category.CategoryId}"
ItemsSource="{Binding Context.Categories,
Source={x:Static Application.Current}}"
/>
<!--Look at these two things:-->
<!--This does work-->
<tk:DataGridTemplateColumn>
<tk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ItemsControl
ItemsSource="{Binding Group.Category.Groups}">
<ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type data:Group}">
<TextBlock Text="{Binding Title}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</DataTemplate>
</tk:DataGridTemplateColumn.CellTemplate>
</tk:DataGridTemplateColumn>
<!--But this does NOT work, even it's the same source-->
<!--Notice I even tried a dummy converter and doesnt reach there-->
<tk:DataGridComboBoxColumn
Header="Group"
DisplayMemberPath="Title"
SelectedValuePath="GroupId"
ItemsSource="{Binding Group.Category.Groups,
Converter={StaticResource DummyConverter}}"
SelectedValueBinding="{Binding Group.GroupId}"
/>
</tk:DataGrid.Columns>
</tk:DataGrid>
Update
ли вы сказать, что проблема заключается в том, что свойство ItemsSource не может быть установлен в нестатический Binding? Я подозреваю, потому что даже я установил ItemsSource в {Binding}
с DummyConverter
, он не останавливается в конвертере; и в ComboBox категории он отлично работает.
Как заставить его работать для .NET 4.0 Datagrid? Блог Вьюса, похоже, устарел. – newman
Я не думаю, что реализация Datagrid ComboColumn изменилась в версии .net 4. –
Я использовал тот же подход, но источник данных, похоже, не связывает столбец. Я вижу пустое поле со списком в DataGrid. – Nps