data - wpf button triggers
Combine Data Trigger y Trigger en un MultiDataTrigger (2)
He visto en algunos ejemplos que es posible combinar este tipo de disparador:
<Trigger Property="IsMouseOver" Value="True">
Con este tipo de disparador de datos:
<DataTrigger Binding="{Binding IsHighlightable}" Value="True" />
Al utilizar un MultiDataTrigger como este:
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsMouseOver}" Value="True"/>
<Condition Binding="{Binding IsHighlightable}" Value="True" />
</MultiDataTrigger.Conditions>
<MultiDataTrigger.Setters>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="BorderBrush" Value="#BF6DBDD1"/>
<Setter Property="Background" Value="{StaticResource SelectedItemBackgroundBrush}"/>
</MultiDataTrigger.Setters>
</MultiDataTrigger>
Sin embargo, esto no funciona con las propiedades adjuntas. Este disparador funciona:
<Trigger Property="UI:TreeViewHelper.IsMouseDirectlyOverItem" Value="True">
Pero esto no funciona:
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=UI:TreeViewHelper.IsMouseDirectlyOverItem}" Value="True"/>
<Condition Binding="{Binding IsHighlightable}" Value="True" />
</MultiDataTrigger.Conditions>
<MultiDataTrigger.Setters>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="BorderBrush" Value="#BF6DBDD1"/>
<Setter Property="Background" Value="{StaticResource SelectedItemBackgroundBrush}"/>
</MultiDataTrigger.Setters>
</MultiDataTrigger>
¿Hay alguna manera de hacer que el activador funcione correctamente dentro del MultiDataTrigger? La propiedad IsMouseDirectlyOverItem se tomó de aquí http://blogs.msdn.com/b/mikehillberg/archive/2006/09/21/mytreeviewhelperismousedirectlyoveritem.aspx .
Gracias
La syntax de las propiedades adjuntas es diferente:
Path=(UI:TreeViewHelper.IsMouseDirectlyOverItem)
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsHighlightable}" Value="True"/>
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=IsMouseOver}" Value="True"/>
</MultiDataTrigger.Conditions>
<MultiDataTrigger.Setters>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="BorderBrush" Value="#BF6DBDD1"/>
<Setter Property="Background" Value="{StaticResource SelectedItemBackgroundBrush}"/>
</MultiDataTrigger.Setters>
</MultiDataTrigger>