我遇到了这样一种情况,在使用MultiDataTrigger
或者使用带有MultiBinding
的DataTrigger
的情况下,我可以轻松地实现相同的功能。是否有任何实质性的理由更喜欢其中一种方法而不是另一种方法?
使用MultiDataTrigger:
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=SomePath}" Value="SomeValue"/>
<Condition Binding="{Binding Path=SomeOtherPath, Converter={StaticResource SomeConverter}}" Value="SomeOtherValue"/>
</MultiDataTrigger.Conditions>
<MultiDataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource MyStoryboard}"/>
</MultiDataTrigger.EnterActions>
</MultiDataTrigger>
使用MultiBinding:
<DataTrigger Value="foo">
<DataTrigger.Binding>
<MultiBinding Converter="{StaticResource fooConv}"/>
<Binding Path=SomePath/>
<Binding Path=SomeOtherPath/>
</MultiBinding>
</DataTrigger.Binding>
<DataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource MyStoryboard}"/>
</DataTrigger.EnterActions>
</DataTrigger>
MultiDataTrigger
解决方案,因为SomeConverter
更有可能在其他地方被使用,而fooConv
则不太可能在其他地方被使用。 - Novitchi S&&
操作,我经常使用它,尽管我有点模糊地想知道是否有更简单的方法。 - mcwyrm