Button / Image Switch ресурс с помощью click, MouseEnter и MouseLeave - PullRequest
0 голосов
/ 04 сентября 2018

Я пытаюсь изменить изображение, используя такие события, как Click, MouseEnter и MouseLeave. Во-первых, я пытался сделать это с помощью кнопок, чтобы тоже было событие «Клик», но я не знаю, как убрать этот светло-синий фон, который появляется по умолчанию, когда я налагаю курсор на кнопку с фоном png.

После этого я попытался использовать, установив ресурс image.png в его Source.

Основная проблема в том, что я не знаю, что делать в коде для переключения между Image Resources для изменения источника элемента управления.

Я тоже хочу знать, могу ли я использовать «Click Event» с элементом управления

Update1:

Хорошо, я попробовал это с помощью Binding Пока я думаю, что это решено, но у меня есть другая проблема. Я не знаю точно, как убрать эту «границу». Я попытался установить для свойства borderbrush кнопок значение 0, но, похоже, это другое свойство или другой элемент управления.

UI

Спасибо.

1 Ответ

0 голосов
/ 04 сентября 2018

Вы можете поместить изображение как содержимое кнопки, и добавить событие Click к этой кнопке. Таким образом, событие вызывается при нажатии кнопки.

        <Button Margin="0,10" Name="mainButton" Click="mainButton_Click">
            <Button.Content>
                <Image Source="C:/reference-to-image" Height="30"/>
            </Button.Content>
        </Button>

В фоновом режиме вы можете изменить изображение.

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

WPF-образ UriSource и привязка данных с использованием http: \\ URL

PS. Если вы хотите изменить поведение элементов управления при определенных событиях, например при нажатии левой кнопки мыши на нем, вам нужно перезаписать триггеры событий , используя

<Style TargetType="TextBlock">
                <Style.Triggers>
                    <EventTrigger RoutedEvent="MouseEnter">
                        <EventTrigger.Actions>
                          ...

Надеюсь, это поможет.

UPDATE

Вы можете установить BorderThickness на 0, а затем установить значение свойства Padding на 0. Button Control имеет предопределенное значение заполнения , которое выглядит так, как будто оно имеет границу , Заполнение - это пространство внутри элемента управления, а содержимое , например, пространство между кнопкой и изображением

<StackPanel Orientation="Horizontal">
        <Button Click="Button_Click"  Padding="0" BorderThickness="0">
            <Image Source="link-to-pic" Height="100"/>
        </Button>
        <Button Click="Button_Click"   Padding="0"  BorderThickness="0">
            <Image Source="link-to-pic" Height="100"/>
        </Button>
</StackPanel>
...