所以我有Enum
:
public enum Status
{
Intermediate = 0,
Valid,
NotValid
}
我的ViewModel
:
public class MyData
{
private Status _status;
public Status Status
{
get { return _status; }
set
{
_status= value;
OnPropertyChanged();
}
}
我的TextBox Style
:
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Status.Valid}" Value="True"/>
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="LightSeaGreen" />
</MultiDataTrigger>
所以此Status
属性正在更改,我验证它变为Valid
,但我的TextBox
Background
颜色仍然没有变化。
此style
在其他ResourceDictionary
文件中定义。
该文件的名称为TextBox.xaml
。
其他属性工作正常,我问的原因是我从不尝试用Trigger
写enum
所以我甚至不知道该怎么做。
答案 0 :(得分:3)
试试这个:
<Condition Binding="{Binding Status}" Value="Valid"/>
或
<Condition Binding="{Binding Status}" Value="{x:Static local:Status.Valid}"/>
...其中local
映射到Status
的CLR名称空间。
xmlns:local="clr-namespace:WpfApplication1"