【发布时间】:2012-07-04 18:56:16
【问题描述】:
早安,
我正在为 WPF 应用程序中的 CheckBox 控件设置样式。我的目标是在 CheckBox 'default' 矩形/边框的左侧添加一个填充。
默认情况下,填充仅应用于 CheckBox 的内容区域。左边距确实有效,但在这种情况下,CheckBox 不会注册单击以选中该框。
有人有想法吗?提前致谢!!
编辑 #1,回答 Vlad,一个显示填充/边距差异的示例:
<StackPanel Orientation="Vertical">
<Border Width="400" Height="50" BorderBrush="Black" BorderThickness="1">
<CheckBox Content="Normal, clickable everywhere" />
</Border>
<Border Width="400" Height="50" BorderBrush="Black" BorderThickness="1">
<CheckBox Content="Content padding, clickable everywhere" Padding="5" />
</Border>
<Border Width="400" Height="50" BorderBrush="Black" BorderThickness="1">
<CheckBox Content="Control margin, not clickable in area 5px around" Margin="5" />
</Border>
</StackPanel>
【问题讨论】:
-
我理解正确吗,
CheckBoxwith 边距的工作方式与 without 不同?您能否发布(最小)代码来复制它? -
@Vlad,我用一个例子编辑了我的帖子。希望清楚。
-
使用
CheckBox的内置ControlTemplate是不可能的。您可以为 CheckBox 创建自己的ControlTemplate。从这里复制 (.NET4) msdn.microsoft.com/en-us/library/ms752319(v=vs.100).aspx -
@Monty:看看我的回答,希望对您有所帮助。
标签: .net wpf checkbox padding controltemplate