我正在我的公司开发WPF应用程序 我想创建一个RadioButton模板 我希望模板化的RadioButtons看起来像标准按钮 我希望一个经过检查的模板化RadioButton看起来像一个按下的标准按钮。
以下屏幕截图部分显示了一行3个RadioButtons,下面的行包含3个按钮 我想让我的模板让3个RadioButton看起来像3个按钮。
我已经阅读了一些有关模板创建的信息,但我不知道如何引用Button标准模板的部分内容 我不想通过绘制2D形状来重新创建Button标准模板的部分 如何在RadioButton模板中引用Button标准模板的部分?
非常感谢任何帮助
答案 0 :(得分:1)
您需要向Template
提供Button
RadioButton
,您就可以了。
<StackPanel Orientation="Horizontal">
<StackPanel.Resources>
<Style TargetType="RadioButton">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Border BorderThickness="{TemplateBinding Border.BorderThickness}"
BorderBrush="{TemplateBinding Border.BorderBrush}"
Background="{TemplateBinding Panel.Background}"
Name="border"
SnapsToDevicePixels="True">
<ContentPresenter RecognizesAccessKey="True"
Content="{TemplateBinding ContentControl.Content}"
ContentTemplate="{TemplateBinding
ContentControl.ContentTemplate}"
ContentStringFormat="{TemplateBinding
ContentControl.ContentStringFormat}"
Name="contentPresenter"
Margin="{TemplateBinding Control.Padding}"
HorizontalAlignment="{TemplateBinding
Control.HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding
Control.VerticalContentAlignment}"
SnapsToDevicePixels="{TemplateBinding
UIElement.SnapsToDevicePixels}"
Focusable="False" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</StackPanel.Resources>
<RadioButton Content="First"/>
<RadioButton Content="Second"/>
<RadioButton Content="Third"/>
</StackPanel>
在StackPanel资源下创建默认样式,以便它自动应用于所有radioButtons。