我有一个填充了datagridrows的数据网格,并根据某些属性进行分组。 datagrid中的组有一个组合框,每行(item)也有一个组合框。组合框中的项目也通过某些属性进行分组。组合框itemssource绑定到viewmodel属性。
以下是用于实现组合框的代码片段:
<ComboBox SelectedItem="{Binding Path = UnitItem, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectedValue="{Binding Path = UnitItem, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
IsEditable="False"
FontWeight="Bold"
ItemTemplate="{StaticResource GridNameBinding}">
<ComboBox.Resources>
<CollectionViewSource x:Key="GroupUnitData"
Source="{Binding Path = Units}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="GroupName" />
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
</ComboBox.Resources>
<ComboBox.ItemsSource>
<Binding Source="{StaticResource GroupUnitData}" />
</ComboBox.ItemsSource>
<ComboBox.GroupStyle>
<GroupStyle HeaderTemplate="{StaticResource GroupHeader}" />
</ComboBox.GroupStyle>
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction
Command="{Binding Path=DataContext.UnitSelection,
RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"
CommandParameter="{Binding GroupNameText}">
</i:InvokeCommandAction>
</i:EventTrigger>
</i:Interaction.Triggers>
</ComboBox>
我面临的问题是组头中的每个组合框都有重复的值(等于该组中的行数)。
请建议。