2010-02-28 6 views
2

J'ai un RoutedUICommand qui peut être lié à plusieurs contrôles dans xaml. J'ai quelques contrôles de bouton et une image qui devrait être liée à cette commande. Il est très simple de lier une commande avec des boutons commeComment lier un événement MouseDown image avec un RoutedUICommand

<Button Name="btnAction1" Command="local:MainWindow.Command1"/> 

Mais je suis incapable de trouver un moyen de lier un événement mouseDown de l'image à cette commande. Y at-il quelque chose qui me manque ou il n'y a vraiment aucun moyen de le faire.

Répondre

1

Vous pouvez utiliser un comportement attaché, comme le montre this article

3

Depuis la classe image ne définit pas une propriété de commande, vous avez quelques options. Vous pouvez écrire un comportement attaché qui va gérer un MouseDown et déclencher une commande.

Ou vous pouvez tout faire en XAML en créant un nouveau style de bouton. Comme le bouton peut accueillir quelque chose, vous pouvez créer un style de bouton vide et il ressemblera à une image:

<Style x:Key="EmptyButton" TargetType="{x:Type Button}"> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="{x:Type Button}"> 
       <ContentPresenter /> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

Ensuite, lorsque vous l'utilisez, vous feriez:

<Button Name="btnAction1" 
     Style="{StaticResource EmptyBUtton}" 
     Command="local:MainWindow.Command1"> 
    <Image Source="MySourceImage.jpg" /> 
</Button> 
Questions connexes