最も簡単な方法は、次のように、マウスが上にあるときにボタンの背景として使用できる画像を作成することだと思います。
<Style x:Key="SwitchButtonStyle" TargetType="Button">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background">
<Setter.Value>
<ImageBrush ImageSource="yourimagepath.ending"></ImageBrush>
</Setter.Value>
</Setter>
<Setter Property="HorizontalContentAlignment" Value="Right"/>
</Trigger>
</Style.Triggers>
</Style>
編集:コンテンツを配置するためのより柔軟な方法は次のとおりです。
ボタンのコンテンツとしてTextBlockを取ります。
<Button.Content>
<TextBlock Text="YourTextOrBinding" Style="{DynamicResource ResourceKey=TextBlockOnButtonStyle}"></TextBlock>
</Button.Content>
TextBlockOnButtonStyle:
<Style x:Key="TextBlockOnButtonStyle" TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType={x:Type Button}}, Path=IsMouseOver}" Value="True">
<Setter Property="Margin" Value="10,0,0,0"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
セッター値の10は、マウスがボタンの上にある場合にテキストが右に移動するピクセル数です。
編集2:画像全体の代わりに長方形をボタンの背景として使用したい場合は、次のように行うことができます。
<DockPanel Width="100" Height="30">
<Rectangle Visibility="{Binding ElementName=btnMain, Path=IsMouseOver, Converter={StaticResource ResourceKey=BoolToVis}}" Width="25">
<Rectangle.Fill>
<whateveryouwanttousetofilltheimage>
</Rectangle.Fill>
</Rectangle>
<Button Name="btnMain" Content="YourContentOrBinding"/>
</DockPanel>
ここでは、長方形の可視性をボタンIsMouseOver-propertyにバインドし、出力をBooleanToVisibilityConverterで変換しました。