8

我想确保选定的 ListViewItem 的非焦点背景与焦点背景相同。我知道这样做的常见方法如下:

<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Blue"/>
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Blue"/>

然而,问题是我不想指定颜色,我只想让静态资源返回的画笔与高亮画笔键相同。

4

2 回答 2

13

答案是这样的:

<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" 
           Color="{DynamicResource {x:Static SystemColors.HighlightColorKey}}" />
于 2010-09-21T06:21:14.463 回答
0

试试这个......我知道它可以设置两个属性来匹配,不确定它是否会在你的上下文中工作,但值得一试:

<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" 
                 Color="Blue"/>
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" 
                 Color="{DynamicResourse SystemColors.HighlightBrushKey.Color}"/>

我使用 TextBox 作为游乐场对此进行了测试。我不确定您的确切应用程序,但这是我的测试标记:

<TextBox>
    <TextBox.Background>
        <SolidColorBrush  x:Key="{x:Static SystemColors.HighlightBrushKey}" 
                Color="Blue"></SolidColorBrush>
    </TextBox.Background>
    <TextBox.Foreground>
        <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" 
                Color="{DynamicResource SystemColors.HighlightBrushKey.Color}" />
    </TextBox.Foreground>
</TextBox>

这只是将背景设置为蓝色,将前景设置为背景,这是预期的结果。

于 2010-09-20T17:26:26.703 回答