La meilleure façon est de définir un nouveau modèle de bouton. L'ajout de ce à votre balise UserControl.Resources devrait fonctionner:
<ControlTemplate x:Key="ButtonControlTemplate1" TargetType="Button">
<Grid>
<vsm:VisualStateManager.VisualStateGroups>
<vsm:VisualStateGroup x:Name="CommonStates">
<vsm:VisualState x:Name="Normal"/>
<vsm:VisualState x:Name="MouseOver">
<Storyboard/>
</vsm:VisualState>
<vsm:VisualState x:Name="Pressed">
<Storyboard/>
</vsm:VisualState>
<vsm:VisualState x:Name="Disabled">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="DisabledVisualElement" Storyboard.TargetProperty="Opacity">
<SplineDoubleKeyFrame KeyTime="0" Value=".55"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</vsm:VisualState>
</vsm:VisualStateGroup>
<vsm:VisualStateGroup x:Name="FocusStates">
<vsm:VisualState x:Name="Focused">
<Storyboard>
<DoubleAnimationUsingKeyFrames Storyboard.TargetName="FocusVisualElement" Storyboard.TargetProperty="Opacity">
<SplineDoubleKeyFrame KeyTime="0" Value="1"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</vsm:VisualState>
<vsm:VisualState x:Name="Unfocused" />
</vsm:VisualStateGroup>
</vsm:VisualStateManager.VisualStateGroups>
<ContentPresenter
x:Name="contentPresenter"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
Margin="{TemplateBinding Padding}"/>
<Rectangle x:Name="DisabledVisualElement" RadiusX="3" RadiusY="3" Fill="#FFFFFFFF" Opacity="0" IsHitTestVisible="false" />
<Rectangle x:Name="FocusVisualElement" RadiusX="2" RadiusY="2" Margin="1" Stroke="#FF6DBDD1" StrokeThickness="1" Opacity="0" IsHitTestVisible="false" />
</Grid>
</ControlTemplate>
maintenant votre bouton doit être défini comme:
<Button x:Name="NewAppointmentButton" Template="{StaticResource ButtonControlTemplate1}">
<TextBlock>X</TextBlock>
</Button>
Si vous utilisez un mélange d'expression, vous pouvez l'utiliser pour modifier votre modèle de bouton le contenu de votre coeur :) Sélectionnez votre bouton en mode design - juste au-dessus de la fenêtre de conception sera un bouton gris appelé 'NewAppointmentButton'. Cliquez dessus, puis sur 'Modifier les parties du contrôle' puis sur 'Modifier le modèle' - le bouton devrait avoir un contour jaune. Vous pouvez maintenant modifier les éléments visuels, les états et les transitions.
Bonne chance!
Merci pour cela. Vous avez de nombreuses références à "vsm" dans ce domaine, quel espace de noms ai-je besoin pour cela? (Beaucoup de squigglies rouges en ce moment!) –
Ah, désolé! Ajouter xmlns: vsm = "espace de noms clr: System.Windows; assembly = System.Windows" –
C'est super - fonctionne un régal! Une chose - J'ai essayé de définir le modèle dans mon style ( ) et j'ai obtenu une erreur de ne pas avoir une ressource nommée ToolbarButtonTemplate (qui est le nom que j'ai utilisé) . Est-ce que tu sais pourquoi? –