2
我MultiDataTrigger
看起来是这样的:两个MultiDataTrigger一个按钮
<Style x:Key="btnStyle" TargetType="{x:Type Button}" BasedOn="{StaticResource BaseBtnStyle}">
<Setter Property="UIElement.IsEnabled" Value="False" />
<Setter Property="Margin" Value="3,2"/>
<Setter Property="Template" Value="{DynamicResource GrayButtonTemplate}"/>
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Num}" Value="1"/>
<Condition Binding="{Binding Str}" Value="aaa"/>
</MultiDataTrigger.Conditions>
<Setter Property="UIElement.IsEnabled" Value="True" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
的目标是,该按钮会尽快= 1
它可以被启用为海峡= AAA和Num。
的问题是,我想要的按钮将被激活即使民= 2(和STR = AAA)
我尝试的第一个后,添加更多MultiDataTrigger
:
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Num}" Value="2"/>
<Condition Binding="{Binding Str}" Value="aaa"/>
</MultiDataTrigger.Conditions>
<Setter Property="UIElement.IsEnabled" Value="True" />
</MultiDataTrigger>
他没有提到它,该按钮仅在Num = 1时启用。
还有另一种方法可以做到这一点吗?
问题中的XAML的实际问题是什么?是否有可能有多个MultiDataTrigger?我有一个类似的问题,但创建一个通知程序属性不是我的选择。 – Sherlock
@Sherlock你可以根据自己的喜好('Trigger','DataTrigger',...)选择你想要的'Triggers',并且我不知道为什么在这种特殊情况下它没有像在我的代码,它只是它工作正常。这只是一种方式,允许您在“ViewModel”中创建干净的解决方案,以便您的情况更加复杂。 – dkozl
感谢您的回应 - 我想出了我的问题:出于某种原因,将我的元素从我的控制模板移动到