2

我正在使用 wpf 组合框来显示和选择枚举“BloodGroup” BloodGroup 枚举定义如下。

    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)]"/>

我正在使用上面的组合框来过滤数据网格的行。要取消过滤器,我需要在组合框中显示“取消过滤器”的附加项目。如何在上述组合框中添加一个用于取消过滤器的附加项目。

4

1 回答 1

2

您可以将不同的集合与CompositeCollection

<ComboBox x:Name="BloodGroupFilter">
    <ComboBox.ItemsSource>
        <CompositeCollection>
            <CollectionContainer Collection="{Binding Source={StaticResource BloodGroupEnum}}"/>
            <sys:String>Cancel Filter</sys:String>
        </CompositeCollection>
    </ComboBox.ItemsSource>
</ComboBox>
于 2012-11-14T15:10:53.627 回答