我有一个按钮,其内容属性会根据从ViewModel设置的某些条件不断变化。基本上它设置一个从0到1000的值。
我在同一个按钮上还有另一个自定义DP属性,其值可以设置为某个枚举。
我想解决的问题如下(不幸的是我不知道应该如何解决):
如果我的按钮内容值为0 - 按钮的背景应为灰色。 如果我的按钮内容值为1 - 按钮的背景应为黄色。 如果我的按钮内容值是1&自定义DP具有值集(不是默认值) - 背景应更改为红色。
如果我的问题陈述只是处理基于内容上设置的整数设置背景 - 我可以轻松地使用转换器(String to Brush)并设置我的背景。但是现在根据自定义DP值设置背景的最后一个条件 - 不知道如何解决...
有人可以建议我一个方法 - 解决这个问题的示例代码。
答案 0 :(得分:1)
<Button Content="0">
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self},Path=Content}" Value="0">
<Setter Property="Background" Value="Gray"/>
</DataTrigger>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self},Path=Content}" Value="1">
<Setter Property="Background" Value="Yellow"/>
</DataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=Content}" Value="1"/>
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=YourDP}" Value="YourValue"/>
</MultiDataTrigger.Conditions>
<MultiDataTrigger.Setters>
<Setter Property="Background" Value="Red"/>
</MultiDataTrigger.Setters>
</MultiDataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
答案 1 :(得分:0)