l'ajout d'effet du passage de la souris à un bouton avec l'Image dans le code XAML
Je suis d'avoir un bouton avec l'Image comme suit:
<Button Width="22" Height="22" Command="{Binding PreviousCommand}">
<Button.Template>
<ControlTemplate>
<Image Source="C:\Users\abcdef\Desktop\Slide-To-Left-Arrow-24.png"></Image>
</ControlTemplate>
</Button.Template>
<Button.InputBindings>
<KeyBinding Key="Up" Command="{Binding PreviousCommand}" Modifiers="Alt+Shift" />
</Button.InputBindings>
</Button>
Je veux appliquer un peu de la souris sur l'effet de reconnaître bouton est cliquable/peut recevoir le focus.
J'ai essayé d'ajouter déclencher comme suit, mais sa ne fonctionne pas:
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Black" />
</Trigger>
</ControlTemplate.Triggers>
Sa ne fonctionne pas. ce que je dois faire? merci de m'aider.
Vous devez vous connecter pour publier un commentaire.
Votre modèle de contrôle se compose seulement d'une Image à ce point, alors il n'y a rien que vous pouvez changer l'arrière-plan (par le biais de votre déclencheur). Si vous souhaitez ajouter un changement d'arrière-plan, vous aurez besoin pour développer votre
ControlTemplate
un peu. Essayez quelque chose comme ceci:C'est juste un très simple exemple de la façon dont vous pouvez utiliser le déclencheur, vous avez indiqué ci-dessus. Cette fonction ne fait qu'ajouter un
Grid
sous l'image et unMargin
à l'image de sorte qu'une partie de laGrid
est visible. Il utilise ensuite laTarget
propriété de laSetter
pour attribuer leBackground
de laGrid
lorsque l'utilisateur survole le bouton. Vous pouvez certainement faire beaucoup plus avec votreControlTemplate
de fournir d'autres types de signaux visuels, mais j'espère que cela vous permettra de commencer.Target
dans leTrigger
Setter
correspond à lax:Name
de laGrid
dans le modèle.