Ich versuche, einige Schaltflächen in einer WPF-Anwendung zu erstellen, die Triggerereignisse basierend auf dem haben, was gerade für die Schaltfläche ausgeführt wird. Ich habe Probleme, mehrere Trigger-Ereignisse hinzuzufügen. Im folgenden Code funktioniert der Trigger für isPressed nicht, aber isMouseOver tut dies. Wenn ich einen der Auslöser lösche, funktioniert es, aber sie arbeiten nie zusammen.Probleme mit WPF-Triggerereignissen
Ich muss auch eine Bildänderung hinzufügen, wenn die Schaltfläche deaktiviert ist, aber die Trigger-Eigenschaft scheint nichts für deaktiviert zu enthalten. Möglicherweise muss ich diese Änderung im C# -Code vornehmen. Wenn jemand eine Idee dafür hat, wäre es großartig!
Jede Hilfe wird geschätzt!
<Button Name="testbutton"
Background="Transparent"
Cursor="Hand"
Visibility="Visible" Grid.Column="2" Grid.Row="1" Margin="10" ToolTip="Exits The Application">
<Button.Template>
<ControlTemplate TargetType="Button">
<StackPanel>
<Image Name="exitstatic"
Source="{StaticResource exit static}"
Stretch="Fill"
Visibility="Visible" />
<Image Name="exithover"
Source="{StaticResource exit hover}"
Stretch="Fill"
Visibility="Collapsed" />
<Image Name="exitdisabled"
Source="{StaticResource exit disabled}"
Stretch="Fill"
Visibility="Collapsed" />
</StackPanel>
<ControlTemplate.Triggers>
<Trigger Property="IsPressed"
Value="true">
<Setter TargetName="exitdisabled"
Property="Visibility"
Value="Visible" />
<Setter TargetName="exithover"
Property="Visibility"
Value="Collapsed" />
</Trigger>
<Trigger Property="IsMouseOver"
Value="true">
<Setter TargetName="exithover"
Property="Visibility"
Value="Visible" />
<Setter TargetName="exitstatic"
Property="Visibility"
Value="Collapsed" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Button.Template>
</Button>
@ mcavanaugh418, Einverstanden, die Trigger werden sequenziell wie aufgeführt verarbeitet ... was immer zuletzt ist, gewinnt. – DRapp
Danke Ed. Es war so einfach, dass ich nicht glauben kann, dass ich das überhaupt nicht verstanden habe. Außerdem muss ich die IsEnabled-Eigenschaft verpasst haben. Danke, dass du darauf aufmerksam gemacht hast, genau was ich gebraucht habe. – mcavanaugh418