如何将单选按钮样式更改为XAML中的按钮样式?如果单选按钮被选中,如何设置背景颜色?我想使用默认颜色(因为我使用不同的皮肤)。
cyej8jka1#
您需要为RadioButton定义controltemplate并在controltemplate中应用触发器。差不多吧
<Style x:Key="ButtonRadioButtonStyle" TargetType="{x:Type RadioButton}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type RadioButton}"> <Button Content="{TemplateBinding Content}"/> <ControlTemplate.Triggers> <Trigger Property="HasContent" Value="true"> <Setter Property="FocusVisualStyle" Value="{StaticResource CheckRadioFocusVisual}"/> <Setter Property="Padding" Value="4,0,0,0"/> </Trigger> <Trigger Property="IsEnabled" Value="false"> <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/> </Trigger> <Trigger Property="IsChecked" Value="false"> <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style>
使用它就像。
<RadioButton Style="{DynamicResource ButtonRadioButtonStyle}"> <Image Source="ImagePath\ABC.png"/> </RadioButton>
希望有帮助。
dvtswwa32#
我经常使用这个选项
<RadioButton Height="23" Width="23" ToolTip="По левому краю" GroupName="TextAlignmentGroup" IsChecked="{Binding IsChecked}"> <RadioButton.Template> <ControlTemplate TargetType="RadioButton"> <Image Name="ImageName" Stretch="Fill"/> <ControlTemplate.Triggers> <Trigger Property="ToggleButton.IsChecked" Value="True"> <Setter TargetName="ImageName" Property="Image.Source"> <Setter.Value> <BitmapImage UriSource="../../Resources/pressed.png"></BitmapImage> </Setter.Value> </Setter> </Trigger> <Trigger Property="ToggleButton.IsChecked" Value="False"> <Setter TargetName="ImageName" Property="Image.Source"> <Setter.Value> <BitmapImage UriSource="../../Resources/image.png"></BitmapImage> </Setter.Value> </Setter> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </RadioButton.Template> </RadioButton>
2条答案
按热度按时间cyej8jka1#
您需要为RadioButton定义controltemplate并在controltemplate中应用触发器。差不多吧
使用它就像。
希望有帮助。
dvtswwa32#
我经常使用这个选项