fal*_*kky 4 wpf enums binding textbox
所以我有这个Enum:
public enum Status
{
Intermediate = 0,
Valid,
NotValid
}
Run Code Online (Sandbox Code Playgroud)
我的ViewModel:
public class MyData
{
private Status _status;
public Status Status
{
get { return _status; }
set
{
_status= value;
OnPropertyChanged();
}
}
Run Code Online (Sandbox Code Playgroud)
我的文本框Style:
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Status.Valid}" Value="True"/>
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="LightSeaGreen" />
</MultiDataTrigger>
Run Code Online (Sandbox Code Playgroud)
所以这个Status属性正在改变,我验证它变成了Valid但我的TextBox Background颜色仍然没有改变。这style是在其他ResourceDictionary文件中定义的。这个文件的名字是TextBox.xaml.
其他属性工作正常,我问的原因是我从不尝试编写Trigger,enum所以我什至不知道该怎么做。
mm8*_*mm8 10
尝试这个:
<Condition Binding="{Binding Status}" Value="Valid"/>
Run Code Online (Sandbox Code Playgroud)
或者
<Condition Binding="{Binding Status}" Value="{x:Static local:Status.Valid}"/>
Run Code Online (Sandbox Code Playgroud)
... wherelocal映射到Status.
xmlns:local="clr-namespace:WpfApplication1"
Run Code Online (Sandbox Code Playgroud)