我想在WPF中制作一个更大的复选框。
我发现我需要做一个控件模板,其中一个示例可以在这里找到: http://msdn.microsoft.com/en-us/library/ms752319.aspx
如果我使用那个代码,复选框的外观就不像默认的样子。 我只想改变边框宽度和高度属性。
我需要一个与默认外观完全相同的控件模板,然后我将仅更改宽度和高度。 有人知道在哪里可以找到吗? 或者有更好的方法吗?
我想在WPF中制作一个更大的复选框。
我发现我需要做一个控件模板,其中一个示例可以在这里找到: http://msdn.microsoft.com/en-us/library/ms752319.aspx
如果我使用那个代码,复选框的外观就不像默认的样子。 我只想改变边框宽度和高度属性。
我需要一个与默认外观完全相同的控件模板,然后我将仅更改宽度和高度。 有人知道在哪里可以找到吗? 或者有更好的方法吗?
这个怎么样?
<CheckBox>
<CheckBox.LayoutTransform>
<ScaleTransform ScaleX="2" ScaleY="2" />
</CheckBox.LayoutTransform>
</CheckBox>
如果整数值不是您想要的精确比例,您可以使用双精度浮点型来设置ScaleX和ScaleY。
<Viewbox Height="46" HorizontalAlignment="Left" >
<CheckBox Content="Some Content"/>
</Viewbox>
默认的ControlTemplates可以在MSDN上找到(请查看Default WPF Themes
链接)。
确保在您的xaml文件中添加相应的主题命名空间以引用必要的主题控件。
<theme:BulletChrome Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
RenderMouseOver="{TemplateBinding IsMouseOver}"
RenderPressed="{TemplateBinding IsPressed}"
IsChecked="{TemplateBinding IsChecked}"/>
您可以使用复选框的可视化树,在运行时通过明确设置宽度和高度来更改所需的元素。使用Peter Blois的Snoop或一些等效工具查看是否有可以通过FindName访问的命名元素;如果没有,您将不得不猜测(例如,某些样式可能具有两个边框元素,您必须选择一个),并显式地遍历可视化树。
请记住,如果找不到要查找的元素,则您的代码不应执行任何操作。