我使用wpf组合框来显示和选择枚举“BloodGroup”BloodGroup Enum定义为。
public enum BloodGroup : byte {
A_Positive,
A_Negative,
B_Positive,
B_Negative,
AB_Positive,
AB_Negative,
O_Positive,
O_Negative,
}
这是用于在上面使用枚举项填充组合框的wpf组合框代码。
<UserControl.Resources>
<ObjectDataProvider x:Key="BloodGroupEnum" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="enums:BloodGroup" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</UserControl.Resources>
<ComboBox x:Name="BloodGroupFilter" ItemsSource="{Binding Source={StaticResource BloodGroupEnum}}"
cal:Message.Attach = "[Event SelectionChanged] = [Action BloodGroupFilterChanged(BloodGroupFilter)]"/>
我使用上面的组合框来过滤datagrid的行。要取消过滤器,我需要在组合框中显示“取消过滤器”的其他项目。如何添加其他项目 在上面的组合框中将用于取消过滤器。
答案 0 :(得分:1)
您可以将不同的集合与CompositeCollection
:
<ComboBox x:Name="BloodGroupFilter">
<ComboBox.ItemsSource>
<CompositeCollection>
<CollectionContainer Collection="{Binding Source={StaticResource BloodGroupEnum}}"/>
<sys:String>Cancel Filter</sys:String>
</CompositeCollection>
</ComboBox.ItemsSource>
</ComboBox>