复选框中的勾选标记

11

在我的简单WPF应用程序中,我使用常规的CheckBox控件。看起来我可以控制背景和前景。前景属性控制复选框旁边的文本,但不控制复选框。默认情况下,背景是白色,我的前景与白色非常接近,因为我有一个黑暗的窗体背景。

当我在我的开发Windows 7机器上运行应用程序时,复选框的勾号是黑色的。在Win XP计算机上,勾号是绿色的。但是,在另一台Win XP机器上,勾号是不可见的,因为它是白色的背景上的白色。

我的问题是“如何控制我的复选框勾号的颜色?”。

3个回答

17

在使用“Windows Classic”主题或远程桌面的 Win XP 上,复选框的圆点符号会采用整个复选框的前景色。

<CheckBox Foreground="White" Content="My Text" />

我通过更改以下代码来解决了这个问题:

<CheckBox>
   <Label Foreground="White">My Text</Label>
</CheckBox>

确切地说,遇到了完全相同的问题。谢谢! - smvlad

3

谢谢。这并不像我希望的那么简单,但我正在研究它。 - Vadim
如果您有Blend,您可以始终使用“编辑模板”命令(抱歉,我这里没有Blend,所以无法告诉您确切的命令)获取默认模板。或者,您可以使用类似Snoop的工具。 - Wonko the Sane

0

另外,我认为您可以定义一个样式,该样式定义了一个触发器,根据您的要求更改颜色。由于它很有趣,我会尝试并稍后发布示例。

编辑:算了,CheckBox使用BulletChrome进行一些内部渲染,并且不公开任何有趣的属性可用于挂钩。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接