wpf - style - MultiDataTrigger vs DataTrigger con multibinding
wpf animation (1)
Me encontré con una situación en la que puedo lograr fácilmente la misma funcionalidad utilizando un MultiDataTrigger
o, alternativamente, utilizando un DataTrigger
con un MultiBinding
. ¿Existen razones sustanciales para preferir un enfoque sobre el otro?
Con 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>
Con 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>
Multibinding
requiere un convertidor para todas las circunstancias, excepto para las más raras (mediante StringFormat
).
MultiTrigger
solo requiere un convertidor para obtener sus resultados de enlace en boolean
s.