8

選択したListViewItemのフォーカスされていない背景が、フォーカスされている背景と同じであることを確認したいと思います。これを行う一般的な方法は次のとおりです。

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

ただし、問題は、色を指定したくないということです。キーがControlBrushKeyである静的リソースによって返されるBrushを、HighlightBrushKeyのブラシと同じにするだけです。

4

2 に答える 2

13

答えはこれです:

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

これを試してください...2つのプロパティを一致させるように設定すると機能することはわかっていますが、コンテキストで機能するかどうかはわかりませんが、試してみる価値はあります。

<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 に答える