Вы можете поместить изображение как содержимое кнопки, и добавить событие 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>