MultiDataTrigger против DataTrigger с multibinding
я столкнулся с ситуацией, когда я могу легко достичь той же функциональности, используя MultiDataTrigger
или, поочередно, используя DataTrigger
С MultiBinding
. Существуют ли какие-либо существенные причины предпочесть один подход другому?
С 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>
1 ответов
Multibinding
требуется конвертер для всех, кроме самых редких обстоятельств (используя StringFormat
).
MultiTrigger
требует только конвертер, чтобы получить результаты привязки в boolean
s.