2011-09-22 4 views

답변

0

편집 :

선택한 배경을 변경 들어있는 ListViewItem의 템플릿을 무시해야합니다.

다음을 참조하십시오 ... http://msdn.microsoft.com/en-us/library/ms788717(v=vs.90).aspx.

{StaticResource SelectedBackgroundBrush}을 템플릿의 기본 배경 브러시로 바꿉니다.


나는이 질문에 대한 답변이 되었기를 바랍니다 ...

<ListView ...> 
    <ListView.Resources> 
    <Style TargetType="{x:Type ListViewItem}"> 
    <Style.Triggers> 
     <Trigger Property="SomeListViewItemProperty" Value="Value1"> 
     <Setter Property="Background" Value="Red" /> 
     </Trigger> 
     <Trigger Property="SomeListViewItemProperty" Value="Value2"> 
     <Setter Property="Background" Value="Yellow" /> 
     </Trigger> 
    </Style.Triggers> 
    </Style> 
    <ListView.Resources> 
</ListView> 

을 컨트롤 템플릿 당신은 트리거를 사용할 수에 의존하지 않는 다른 속성을 기준으로 배경을 변경합니다.

+0

감사합니다,하지만 :(내가 찾았 답변되지 않습니다.

여기
<ListView> <ListView.ItemContainerStyle> <Style TargetType="{x:Type ListViewItem}"> <Style.Resources> <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Orange"/> </Style.Resources> </Style> </ListView.ItemContainerStyle> </List> 

는 선진 설명입니다 그래서 항목의 higlighting 색상을 변경할 수 다음과 같이해야 목록 항목의 배경을 설정하는 방법을 알고 있지만 항목을 선택하면 해당 배경이 여전히 파란색 (기본 시스템 강조 브러시 색상)이됩니다. 목록에 하나의 항목 만있는 경우 변경할 수 없기 때문에 배경색도 표시되지 않습니다. – Alex

+0

@Alex, 편집 된 답변을 참조하십시오. –

2

이것은 종종 사람들이 요구하는 문제입니다. 실제로 ListView 나 ListBox에서 항목을 선택하면 배경 색상이 변경되지 않는 경우가 있습니다. 좀 더 까다 롭습니다. 실제로 항목 템플릿이 바인딩되는 정적 색상 자원의 값을 재정의해야합니다. 나는 Trigger for ListBoxItem

관련 문제