2011-09-24 4 views
2

내 WPF ListBox에는 Product와 Brand의 두 가지 유형의 개체가 포함되어 있습니다.특정 데이터 유형의 ListBoxItem에 스타일 설정기를 적용하려면 어떻게해야합니까?

내가 원하는 제품 제품 선택. 원하는 제품 브랜드는 선택 불가.

두 가지 유형 각각에는 고유 한 DataTemplate이 있습니다.

<ListBox ... > 
    <ListBox.Resources> 
     <DataTemplate DataType="{x:Type local:Product}"> 
      ... 
     </DataTemplate> 
     <DataTemplate DataType="{x:Type local:Brand}"> 
      ... 
     </DataTemplate> 
    </ListBox.Resources> 
</ListBox> 

가 나는 세터로 포커스를 가질 설정할 수 있지만 다음 아무것도 선택 할 수 없습니다 : 기본적으로

, 아무것도을 선택할 수 있습니다

<ListBox ... > 
    <ListBox.Resources> 
     ... 
     <Style TargetType="{x:Type ListBoxItem}"> 
      <Setter Property="Focusable" Value="False" /> 
     </Style> 
    </ListBox.Resources> 
</ListBox> 

내가 세터를 넣을 수 없습니다 DataTemplate 내에서.

데이터 유형을 스타일에 지정할 수 없습니다.

브랜드 유형의 ListBoxItem 만 스타일을 지정하려면 어떻게해야합니까?

답변

1

ListBoxItem 스타일에 데이터 트리거를 사용할 수 있습니까? 그렇다면 DataContext (클래스)에 바인딩하고 값 변환기를 사용하여 형식을 테스트하십시오. 관심이 있다면 ListBoxItem을 선택하여 보이지 않도록 스타일을 지정하십시오.

코드 비하인드 또는 사용자 정의 동작없이 선택기 (ListBox의 부모)에서 항목을 선택할 수 없다고 생각하지 않습니다.

관련 문제