将枚举与ObjectDataProvider绑定

22 浏览
0 Comments

将枚举与ObjectDataProvider绑定

在我的视图中,我有一个绑定到ComboBox的枚举。

public enum MyItems
{
    [Browsable(false)]
    Item1,
    [Browsable(true)]
    Item2,
    [Browsable(false)]
    Item3,
    [Browsable(true)]
    Item4,
}

在视图中,我使用ObjectDataProvider


        
            
        
    :

我的ComboBox看起来像这样:


问题是,我看到所有的枚举,即使它们上面有[Browsable(false)]

enter image description here

我错过了什么?

0
0 Comments

问题出现的原因是用户想要将枚举类型与ObjectDataProvider绑定,但是不知道在哪里使用EnumerationManager,并且想知道是否有任何属性可以设置到ObjectDataProvider来引用Browsable。

解决方法是在代码中包含EnumerationManager,并将ObjectDataProvider定义中的ObjectType更改为namespace:EnumerationManager。没有办法在没有辅助类用于搜索Browsable属性的情况下实现用户想要的功能。

以下是完整的

在这个相关问题的答案中,有一个看起来可能对您有帮助的答案:WPF Data binding: How to data bind an enum to combo box using XAML?。我看到了这个答案,但是不知道在哪里使用EnumerationManager。我想知道是否有任何属性可以设置到ObjectDataProvider来引用Browsable。

解决这个问题的唯一修改是在代码中包含EnumerationManager,并将ObjectDataProvider定义中的ObjectType更改为namespace:EnumerationManager。我认为在没有用于搜索Browsable属性的辅助类的情况下,没有办法实现您想要的功能。

0