J'ai 3 tables: Elément - qui est le DataContext - il a une colonne de navigation Groupe Groupe - a une colonne de navigation Catégorie.Problème liaison DataGridComboBoxColumn.ItemsSource
Je souhaite avoir dans les deux colonnes DataGrid (catégorie & Group) et lorsque je choisis une catégorie, il doit afficher dans le groupe col uniquement les Category.Groups.
Voici le code que je travaille sur:
<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>
Mise à jour
Diriez-vous que le problème est que la propriété ItemsSource ne peut pas être réglé sur une liaison non-statique? Je le soupçonne parce que même si je mets le ItemsSource à {Binding}
avec le DummyConverter
il ne s'arrête pas dans le convertisseur; et dans la catégorie ComboBox cela fonctionne bien.
Comment le faire fonctionner avec .NET 4.0 Datagrid? Le blog de Vince semble être périmé. – newman
Je ne pense pas que l'implémentation de la ComboColumn de dataagrid a changé dans la version .net 4 –
J'ai utilisé la même approche, mais la source de données ne semble pas lier la colonne. Je vois une zone de liste déroulante vide dans DataGrid – Nps