我想在应用级别更改焦点视觉属性。(如邮件应用程序)。 根据{{3}},可以通过更改相应的系统画笔资源来更改应用级别的主要和辅助边框颜色。
焦点视觉效果只有两种颜色属性:主要属性 边框颜色和辅助边框颜色。这些重点是视觉 边框颜色可以在页面级别上按控件更改,并且 全球范围内的应用范围:
要在应用范围内对视觉效果进行品牌聚焦,请覆盖系统画笔:
<SolidColorBrush x:Key="SystemControlFocusVisualPrimaryBrush" Color="DarkRed"/> <SolidColorBrush x:Key="SystemControlFocusVisualSecondaryBrush" Color="Pink"/>
但是在文档中没有为焦点视觉的厚度提供这样的东西。是否有可用的资源或任何其他方式来指定应用级别的厚度?
答案 0 :(得分:2)
不幸的是,主要和次要系统焦点视觉效果没有这样的资源。但假设您正在使用控件的默认样式,您可以尝试定义 base 样式,然后让所有需要焦点视觉的控件继承它。
您甚至可以在 base 样式中定义颜色和边距,这样您就可以通过一个集中的位置来管理所有全局焦点样式。
<Style x:Name="DefaultFrameworkElementStyle" TargetType="FrameworkElement">
<Setter Property="FocusVisualPrimaryThickness" Value="4" />
<Setter Property="FocusVisualSecondaryThickness" Value="2" />
<Setter Property="FocusVisualPrimaryBrush" Value="DarkRed" />
<Setter Property="FocusVisualSecondaryBrush" Value="Red" />
<Setter Property="FocusVisualMargin" Value="2" />
</Style>
<Style TargetType="Button" BasedOn="{StaticResource DefaultFrameworkElementStyle}" />
<Style TargetType="ListViewItem" BasedOn="{StaticResource DefaultFrameworkElementStyle}" />