WPF DataTrigger - 在 XAML 中拥有枚举 return null

WPF DataTrigger - own enum return null in XAML

我有这个代码:

.xaml:

<DataTrigger Binding="{Binding Path=TypeItem}" Value="{x:Static local:CListBoxItem+ETypeItem.File}">
    ...
</DataTrigger>

.cs:

public CListBoxItem(ETypeItem _type)
{
    this.TypeItem = _type;
    InitializeComponent();
}

...

public enum ETypeItem { File,  Directory }

...

public static readonly DependencyProperty TypeItemProperty =
        DependencyProperty.Register("TypeItem", typeof(ETypeItem), typeof(CListBoxItem), new PropertyMetadata(ETypeItem.Directory));
public ETypeItem TypeItem
{
    get { return (ETypeItem) GetValue(TypeItemProperty); }
    set { SetValue(TypeItemProperty, value); }
}

当我 运行 应用时,我的风格不起作用。当我使用:

<DataTrigger Binding="{Binding Path=TypeItem}" Value="{x:Null}">
    ...
</DataTrigger>

然后开始工作.. 如何让 TypeItem 加载自己的样式?

如果 CListBoxItem class 派生自 ListBoxItemControl 尝试 Trigger 而不是 DataTrigger (和静态值 Value="{x:Static local:CListBoxItem+ETypeItem.File}"). DataTrigger 在 DataContext 中搜索 属性 而不是在对象本身中。