首页 > 解决方案 > API 设计 - 为什么 BorderBrush 对 CheckBox 没有影响?

问题描述

UWP中,BorderBrushCheckBox. BorderThickness确实有效果,您可以看到控件周围有一个透明边框:

    <CheckBox BorderBrush="Red"
              BorderThickness="10"
              Background="Aqua"
              Content="CheckBox" />
    <RadioButton BorderBrush="Red"
                 BorderThickness="10"
                 Background="Aqua"
                 Content="RadioButton" />

在此处输入图像描述

工作方式不同,RadioButton它确实使用画笔。

我不想了解如何使 CheckBox 使用边框画笔,我已经知道了。

我正在寻找的是了解为什么 UWP 团队决定让它这样工作?这只是一个错误还是他们身边的一次失误?我觉得很难相信。

有趣的是,在WPF中,边框对CheckBox和的工作方式不同RadioButton

在此处输入图像描述

我也很想知道为什么WPF团队决定在 CheckBox 和 RadioButton 上的BorderThickness工作BorderBrush方式与在整个控件周围显示边框的其他控件不同。Button 是最接近的例子。可能是因为他们不想添加更多专门的属性来自定义实际的检查/收音机?如果是这样的话,他们不是失去了在整个控件周围设置边框的选项吗?

标签: wpfuwpapi-design

解决方案


颜色的十六进制代码是诀窍

<CheckBox BorderBrush=" #000000"  Grid.Column="3" Grid.Row="0" BorderThickness="10" Background="Aqua" Content="CheckBox" />

否则您可以使用颜色转换器并在控件上调用它


推荐阅读