Ich versuche, eine Vorlage/ein benutzerdefiniertes Steuerelement in Silverlight zu erstellen.
Die Basissteuerung kann ein System.Windows.Controls.Button
. Die Schaltfläche hat die folgenden visuellen Zustände:
<vsm:VisualStateManager.VisualStateGroups>
<!--Define the states for the common states. The states in a
VisualStateGroup are mutually exclusive to each other.-->
<vsm:VisualStateGroup x:Name="CommonStates">
<!--Define the VisualStates in this VistualStateGroup.-->
<vsm:VisualState x:Name="Normal"/>
<vsm:VisualState x:Name="MouseOver" />
<vsm:VisualState x:Name="Pressed" />
<vsm:VisualState x:Name="Disabled" />
</vsm:VisualStateGroup>
<!--Define the states for the focus states. The states in a
VisualStateGroup are mutually exclusive to each other.-->
<vsm:VisualStateGroup x:Name="FocusStates">
<!--Define the VisualStates in this VistualStateGroup.-->
<vsm:VisualState x:Name="Focused" />
<vsm:VisualState x:Name="Unfocused" />
</vsm:VisualStateGroup>
</vsm:VisualStateManager.VisualStateGroups>
Mein benutzerdefiniertes Steuerelement erfordert einen anderen Status, MouseButtonUp
( MouseButtonDown
kann durch die vordefinierte Pressed
Zustand). Hier ist die MouseButtonUp
Zustand wird als eine MouseOver
Status standardmäßig, aber ich möchte, dass die MouseButtonUp
Staat verhält sich anders als ein MouseOver
Zustand.
Wie kann ich dies hinzufügen? MouseButtonUp
visuellen Zustand? ( MouseButtonUp
gibt es erst, nachdem der Benutzer die Maus losgelassen hat und bevor er sich bewegt.
BTW: Sollte ich Custom Control oder User Control verwenden? Ich bin sehr verwirrt über diese beiden. Es scheint, dass beide in vielen Fällen funktionieren würden.
Herzlichen Dank.
UPDATE: Nachdem wir dies hinzugefügt haben MouseButtonUp
Zustand, könnte ich die visuellen Übergänge wie:
<vsm:VisualTransition From="Pressed" To="MouseButtonUp" GeneratedDuration="0:0:5" />
Oder:
<vsm:VisualTransition From="MouseButtonUp" To="MouseOver" GeneratedDuration="0:0:5" />