WPF如何在RadioButton上设置样式?

时间:2014-09-23 11:11:20

标签: c# wpf radio-button

我有这段代码:

                 <GroupBox Grid.Column="1" BorderThickness="0,0,0,0" HorizontalAlignment="Right">
                    <ItemsControl FontWeight="Normal" 
                                  ItemsSource="{Binding Path=AvailableTipologieDifficolta}">
                        <ItemsControl.ItemTemplate>
                            <DataTemplate>
                                <RadioButton
                                  Content="{Binding Path=DisplayName}"
                                  IsChecked="{Binding Path=IsSelected}"
                                  GroupName="Feedback"
                                  Margin="10,3.5"
                                  Style="{StaticResource RadioButtonTemplate}"
                                />
                            </DataTemplate>
                        </ItemsControl.ItemTemplate>
                    </ItemsControl>
                </GroupBox>

这是RadioButton的风格:

        <Style TargetType="RadioButton" x:Key="RadioButtonTemplate">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="RadioButton">
                        <RadioButton Foreground="White" FontSize="20">
                            <ContentPresenter/>
                        </RadioButton>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

所以当我尝试运行我的代码时,我有这个:

Opzione 1 o Opzione 2

我可以选择每个选项,但这是不可能的。如果我删除此代码Style =“{StaticResource RadioButtonTemplate}”我可以选择一个选项。

我们可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

这是因为当你创建这样的模板时,你将RadioButton包裹在RadioButton中。内部RadioButton未与外部RadioButton相关联。您无需更改模板,只需使用Setters Foreground FontSize<Style TargetType="RadioButton" x:Key="RadioButtonTemplate"> <Setter Property="Foreground" Value="White"/> <Setter Property="FontSize" Value="20"/> </Style>

{{1}}