Wpf 使高亮画笔与控制画笔相同,但不指定颜色

Wpf 使高亮画笔与控制画笔相同,但不指定颜色,wpf,resources,background,listviewitem,Wpf,Resources,Background,Listviewitem,我希望确保所选ListViewItem的非焦点背景与焦点背景相同。我知道通常的做法如下: <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Blue"/> <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Blue"/> 但是,问题是我不想指定颜色,我只想让静态资源返回的画笔与

我希望确保所选ListViewItem的非焦点背景与焦点背景相同。我知道通常的做法如下:

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


但是,问题是我不想指定颜色,我只想让静态资源返回的画笔与HighlightBrushKey的画笔相同。

试试这个。。。我知道将两个属性设置为匹配是有效的,不确定它是否在您的上下文中有效,但值得一试:

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

我用一个文本框作为运动场来测试它。我不确定您的确切应用程序,但以下是我的测试标记:

<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>

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

答案如下:

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

它不起作用。试试下面的,你就会明白我的意思了。从列表视图中选择一个项目,然后单击文本框。