Ich möchte eine Bildschaltfläche mit verschiedenen Hervorhebungs-Effekten auf IsMouseOver und auf IsPressed-Ereignissen erstellen. Der Code Ich verwende:Warum funktionieren mehrere DataTriggers auf demselben Steuerelement nicht?
<Button Style="{StaticResource AccentedSquareButtonStyle}" x:Name="button" Background="Transparent" BorderThickness="0" Foreground="Transparent" Grid.Column="1" HorizontalAlignment="Left" Margin="142,-2,0,0" VerticalAlignment="Top" Width="75">
<Grid Background="Transparent">
<ContentControl>
<ContentControl.Style>
<Style TargetType="{x:Type ContentControl}">
<Setter Property="Content" Value="{StaticResource printIcon}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=Button}, Path=IsPressed}" Value="True" >
<Setter Property="Content" Value="{StaticResource printIconClicked}"/>
</DataTrigger>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=Button}, Path=IsMouseOver}" Value="True" >
<Setter Property="Content" Value="{StaticResource printIconHighlighted}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ContentControl.Style>
</ContentControl>
</Grid>
</Button>
Der Code funktioniert nur, wenn ich die DataTriggers separat verwenden, aber in dieser Form nur der Mouseover-Effekt Hervorhebung verwendet wird. Ich benutze MahApps Framework. Was mache ich falsch?
ich es Versuch und Irrtum mit herausgefunden. Es funktioniert, wenn ich die Positionen der DataTriggers invertiere, aber ich habe keine Ahnung warum. –