Как связать событие MouseDown с изображением с помощью RoutedUICommand - PullRequest
2 голосов
/ 28 февраля 2010

У меня есть RoutedUICommand, который можно привязать к нескольким элементам управления в xaml. У меня есть несколько кнопок управления и изображение, которое должно быть привязано к этой команде. Привязать команду с помощью кнопок типа

очень просто
<Button Name="btnAction1" Command="local:MainWindow.Command1"/>

Но я не могу найти способ привязать событие mousedown изображения к этой команде. Есть ли что-то, что я пропускаю или там действительно нет никакого способа сделать это.

Ответы [ 3 ]

3 голосов
/ 28 февраля 2010

Поскольку класс Image не определяет свойство Command, у вас есть несколько вариантов. Вы можете написать прикрепленное поведение, которое будет обрабатывать MouseDown и вызывать команду.

Или вы можете сделать все это в XAML, создав новый стиль кнопок. Поскольку Button может содержать все что угодно, вы можете создать пустой стиль кнопки, и он будет выглядеть как изображение:

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

Затем, когда вы используете его, вы будете делать:

<Button Name="btnAction1" 
        Style="{StaticResource EmptyBUtton}" 
        Command="local:MainWindow.Command1">
    <Image Source="MySourceImage.jpg" />
</Button>
3 голосов
/ 01 марта 2010
1 голос
/ 28 февраля 2010

Вы можете использовать прикрепленное поведение, как показано в этой статье

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...