我遇到了 WPF 选项卡视图控件的问题,我希望这里的人可以帮助我。
我希望我的选项卡视图控件为选项卡标题使用圆角,因为我认为圆形选项卡看起来更好。
为此,我使用 Expression Blend 中的“编辑副本”命令修改了选项卡的默认控件模板。然后,我只需为选项卡标题的“边框”设置圆角半径。
然而,这种方法的问题在于“编辑副本”命令最终会为用于显示“活动”和“鼠标悬停”选项卡背景的渐变画笔生成文字颜色值。
当启用“高对比度”模式时,这会导致问题。不像其他控件那样切换到高对比度配色方案,带有修改模板的选项卡将使用渐变画笔中为活动选项卡和鼠标悬停选项卡指定的文字颜色值。这最终使这些选项卡不可读,因为当操作系统切换到高对比度模式时,选项卡标题上的文本变为“白色”(灰色背景上的白色文本不可读)。
我想当启用高对比度模式时我可能能够切换回方形标签,这将解决这个特殊问题。但是,我想安装了自定义 Windows 主题的用户也会遇到类似的问题。
所以,我想知道的是:
- 有什么办法可以将渐变更改为指向系统资源而不是文字值,以便在启用高对比度模式时正确更新颜色
- 或者,有没有办法让我在选项卡标题的边框上设置圆角半径而不创建新的控件模板?
编辑:
我认为我应该更明确地说明我在寻找什么。我想要一个与默认选项卡控件完全一样的选项卡控件,除了选项卡标题角是圆角的。默认情况下,选项卡控件将使用渐变作为选项卡背景,并在用户将鼠标悬停在非活动选项卡上时“突出显示”非活动选项卡。当操作系统切换到高对比度模式时,它还将正确响应并更改其颜色和鼠标悬停行为。我仍然需要这种行为。
在 Blend 中创建默认控制模板的副本会创建一个在高对比度模式下无法正常工作的控制模板。我想知道我需要对控件模板或窗口中的代码做什么,以使生成的控件模板在高对比度模式下正常工作。