如何使用 Enum 属性中的 DataTrigger?

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.

其他属性工作正常,我问的原因是我从不尝试编写Triggerenum所以我什至不知道该怎么做。

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)