さまざまな色の画像/テキスト ボタンを作成する必要がある C# WPF アプリケーションがあります。そのために、Button クラスから派生した ImageButton を作成しました。
ボタンの角を丸くしたいので、次のコントロール テンプレートを作成しました。
<ControlTemplate x:Key="RoundedButtonTemplate" TargetType="{x:Type MyProject:ImageButton}">
<Grid>
<Border x:Name="border" Background="WHAT DO I PUT HERE?" CornerRadius="10"/>
</Grid>
</ControlTemplate>
XAML でスタイルを変更するだけで、上の境界線の色を簡単に変更できるようにしたいと考えています。以下のスタイルを定義しています。
緑のボタンのスタイル:
<Style x:Key="GreenButtonStyle" TargetType="{x:Type MyProject:ImageButton}">
<Setter Property="Background" Value="{DynamicResource GreenButtonBrush}"/>
RoundedButtonTemplate}"/>
</Style>
青いボタンのスタイル:
<Style x:Key="GreenButtonStyle" TargetType="{x:Type MyProject:ImageButton}">
<Setter Property="Background" Value="{DynamicResource BlueButtonBrush}"/>
RoundedButtonTemplate}"/>
</Style>
私のクライアントコードは次のようになります。
<local:ImageButton HorizontalAlignment="Left" Margin="24,19.234,0,20" Width="97" Grid.Row="3" Style="{DynamicResource GreenButtonStyle}" Template="{DynamicResource RoundedButtonTemplate}"/>
私の質問は、どのスタイルを使用するかをテンプレートに知らせるにはどうすればよいですか? 次のプロパティを自分のスタイルに追加しようとしましたが、あまり成功しませんでした:
<Setter Property="Template" Value="{DynamicResource RoundedButtonTemplate}"/>