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 派生自 ListBoxItem
或 Control
尝试 Trigger
而不是 DataTrigger
(和静态值 Value="{x:Static local:CListBoxItem+ETypeItem.File}"
). DataTrigger 在 DataContext 中搜索 属性 而不是在对象本身中。
我有这个代码:
.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 派生自 ListBoxItem
或 Control
尝试 Trigger
而不是 DataTrigger
(和静态值 Value="{x:Static local:CListBoxItem+ETypeItem.File}"
). DataTrigger 在 DataContext 中搜索 属性 而不是在对象本身中。