Ho 3 tabelle: Elemento - che è il DataContext - ha una colonna di navigazione Gruppo Gruppo - ha una colonna di navigazione Categoria.Collegamento problema DataGridComboBoxColumn.ItemsSource
Voglio avere nel DataGrid entrambe (colonne Categoria &) e quando scelgo una categoria dovrebbe visualizzare nel gruppo solo i Category.Groups.
Ecco il codice sto lavorando su:
<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>
Aggiornamento
Vuoi dire il problema è che la proprietà ItemsSource non può essere impostato su un Binding non statico? Sospetto di sì, perché anche io ho impostato l'elemento Origine su {Binding}
con lo DummyConverter
e non si ferma nel convertitore; e nella categoria ComboBox funziona perfettamente.
Come farlo funzionare per .NET 4.0 Datagrid? Il blog di Vince sembra essere obsoleto. – newman
Non penso che l'implementazione del DataGrid di ComboColumn sia cambiata nella versione .net 4 –
Ho usato lo stesso approccio, ma l'origine dati non sembra legare la colonna. Vedo una combobox vuota in DataGrid – Nps