2009-04-27 23 views
3

私は、ListViewコントロールの非アクティブの選択色WPFのListView非アクティブの選択色と要素のフォントの色

を設定することができるよ私は私が選択したのフォント色を変更する必要があります質問

WPF ListView Inactive Selection Color

を以下で説明するソリューションを使用非アクティブな要素は、これを達成するための簡単な方法ですか?

は(あなたは後者でのみ興味があるかのようにあなたの質問を読み込む)の項目が選択されていないときに適用されるため、またはそれを選択したときには、非アクティブ残念ながら、あなたはSystemColors.ControlTextBrushKeyを使用することはできませんあなたに

答えて

6

ありがとうございます。ただし、この操作を行うことができます。

<ListBox ...> 
    <ListBox.Resources> 
     <!-- this customizes the background color when the item is selected but inactive --> 
     <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}">Red</SolidColorBrush> 
    </ListBox.Resources> 
    <ListBox.ItemContainerStyle> 
     <Style> 
      <Style.Triggers> 
          <!-- this customizes the foreground color when the item is selected but inactive --> 
       <Trigger Property="Selector.IsSelected" Value="True"> 
        <Setter Property="TextElement.Foreground" Value="Blue"/> 
       </Trigger> 
      </Style.Triggers> 
     </Style> 
    </ListBox.ItemContainerStyle> 
</ListBox> 
+1

あなたが答えるためにありがとうございましたが、残念ながら、選択した要素は、リストボックスがフォーカス:( を失ったとき、私は白、背景、青、要素が選択されている場合が、非アクティブに前景なり、灰色になります。 –

+0

私の答えを更新しました。 –

3

は私にとって、これは働いていた - の両方のアクティブおよび非アクティブのListBox、itemssが同じで、選択の前景色と背景色に。

<ListBox.ItemContainerStyle> 
    <Style TargetType="{x:Type ListBoxItem}"> 
    <Style.Resources> 
     <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="DodgerBlue"/> 
     <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="White"/> 
     <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="DodgerBlue"/> 
     <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightTextBrushKey}" Color="White"/> 
    </Style.Resources>   
    </Style> 
</ListBox.ItemContainerStyle> 
+0

私のためのウェブ上で最高の働く答え。 – Julian

+0

これは完璧に動作します、ありがとう –

関連する問題