WPFでボタンのスタイルを作成したいのですが、ボタンの性質は、背景画像を表示し、マウスオーバーすると別の背景画像を表示するようなものです。このために以下のxaml構造を作成しました
<Style x:Key="ShelfRefreshButton" TargetType="Button">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="Width" Value="22"/>
<Setter Property="Height" Value="21"/>
<Setter Property="Background">
<Setter.Value>
<ImageBrush ImageSource="images\refresh_active.png" />
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border Name="border"
BorderThickness="0"
Background="{TemplateBinding Background}">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" TargetName="border">
<Setter.Value>
<ImageBrush ImageSource="images\refresh_mouseover.png" />
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
私が直面している問題は、 Style の Width と Height です。どうすれば自動にできますか?ボタンは画像サイズに応じてサイズ変更する必要があります。したがって、幅と高さのハードコードされた値を設定する必要はありません。上記の xaml スタイルで、幅と高さのプロパティ ボタンを削除すると、まったく表示されなくなります。この問題を解決するにはどうすればよいですか?スタイルに適用する必要がある変更は何ですか?