我想將多個切換按鈕組合在一起,並讓它們表現爲單選按鈕。所以我所做的就是添加單選按鈕,我的XAML和創建以下樣式:將按鈕切換爲單選按鈕樣式
<Style BasedOn="{StaticResource {x:Type ToggleButton}}" TargetType="RadioButton">
<Setter Property="FontFamily" Value="Arial"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="Foreground" Value="White"/>
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Background" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
現在單選按鈕看起來像切換按鈕和風格的字體和前景性應用,但如果我點擊其中一個切換按鈕,背景不會變爲紅色。如果我基於IsChecked更改前景,它將起作用,但IsChecked爲true時無法更改背景。
任何想法?
UPDATE:
似乎默認的切換按鈕的風格不使用背景屬性。我正在使用下面的代碼來解決我的問題。如果有人看到下面有什麼問題,請告訴我。
<DataTemplate x:Key="RedBackground">
<Grid Background="Red">
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" TextAlignment="Center" Text="{Binding}"/>
</Grid>
</DataTemplate>
<Style TargetType="ToggleButton">
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="VerticalContentAlignment" Value="Stretch"/>
<Setter Property="ContentTemplate" Value="{StaticResource RedBackground}"/>
</Trigger>
</Style.Triggers>
</Style>
如果你在'RadioButton'上明確地將'Background'設置爲'Red',它是否真的有效? – 2010-09-17 15:37:35
是的。在單選按鈕上設置Background =「Red」會顯示一個帶紅色背景的切換按鈕。 – Flack 2010-09-17 15:53:09