XAML でラジオボタン スタイルをボタン スタイルに変更するにはどうすればよいですか? ラジオボタンがチェックされている場合、背景色を設定する方法は? デフォルトの色を使用したいと思います(さまざまなスキンを使用しているため)。
9473 次
2 に答える
6
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>
それが役に立てば幸い..
于 2012-12-11T10:54:47.863 に答える
0
私はよくこのオプションを使用します
<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>
于 2015-10-14T15:15:46.423 に答える