我有一個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}"/>