2017-12-30 86 views
0

이 코드를 사용하여 ListViewItem이 스타일을 무시하기 위해 노력하고있어 :ListViewItem 스타일을 재정의하는 방법은 무엇입니까?

<ListView.ItemContainerStyle> 
     <Style TargetType="{x:Type ListViewItem}" BasedOn="{StaticResource MaterialDesignListViewItem}"> 
      <EventSetter Event="PreviewMouseLeftButtonDown" 
         Handler="ListViewItem_PreviewMouseLeftButtonDown" /> 

     </Style> 
    </ListView.ItemContainerStyle> 

불행하게도 그래서 나는 StaticResource를 찾을 수 없습니다 밑줄 가지고 MaterialDesignListViewItemMaterialDesignInXaml에 포함되지 않은 것으로 보인다.

내 목표는 마우스가 항목 위에있을 때 선택 색상을 변경하는 것입니다. 관심에 대한

감사합니다.

+0

:

나는이 같은 뭔가를 찾고있다 생각하십니까? – XAMlMAX

+0

스타일에 어떤 것도 기반을 둘 필요가 없습니다. BasedOn을 생략하면됩니다. –

답변

0

여기에는 몇 가지 사항이 있습니다.

MDIX에는 ListView에 사용되는 두 가지 스타일이 있습니다. 그룹화 된 스타일 MaterialDesignGridViewItem 및 보통 MaterialDesignListBoxItem입니다. 이러한 스타일 중 하나를 무시하려면 수동으로 적절한 리소스 사전 (MaterialDesignTheme.ListView.xamlMaterialDesignTheme.ListBox.xaml)을 가져와야합니다. 무엇 대신`EventTrigger` 사용에 대한

<ListView.ItemContainerStyle> 
    <Style TargetType="ListViewItem" BasedOn="{StaticResource MaterialDesignListBoxItem}"> 
     <Style.Resources> 
      <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.ListBox.xaml" /> 
     </Style.Resources> 
     <EventSetter Event="PreviewMouseLeftButtonDown" 
        Handler="ListViewItem_PreviewMouseLeftButtonDown" /> 
    </Style> 
</ListView.ItemContainerStyle>