2012-05-07 169 views
5

我使用MahApps.Metro在我的應用中實現Metro UI。WPF中的樣式覆蓋

我有一個listview和MahApps.Metro正在改變它的風格。 MahApps的listview風格是here

的風格裝載:

<Window.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colours.xaml" /> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" /> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" /> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.AnimatedSingleRowTabControl.xaml" /> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml" /> 
      <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" /> 
      <ResourceDictionary Source="pack://application:,,,/FineRSS;component/Resources/Icons.xaml" /> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Window.Resources> 

我需要跟蹤所選listviewitems的,所以我用另一個方法:

<ListView.ItemContainerStyle> 
       <Style TargetType="{x:Type ListViewItem}"> 
        <Setter Property="IsSelected" Value="{Binding Mode=TwoWay, Path=IsSelected}"/> 
       </Style> 
</ListView.ItemContainerStyle> 

但MahApps.Metro的風格改寫爲ListView控件的默認。

我能做些什麼來保持樣式和IsSelected綁定?

回答

10

我不是正面的我遵循你正在做的事情,但它會有意義使你的StyleBasedOn默認的加載?

喜歡的東西

<ListView.ItemContainerStyle> 
    <Style TargetType="{x:Type ListViewItem}" 
      BasedOn="{StaticResource {x:Type ListViewItem}}"> 
     <Setter Property="IsSelected" Value="{Binding Mode=TwoWay, Path=IsSelected}"/> 
    </Style> 
</ListView.ItemContainerStyle> 
+0

雖然VS不喜歡行支持算法FMP = 「{StaticResource的{X:類型的ListViewItem}}」 這似乎是工作。謝謝。 – ieaglle

+0

我有同樣的問題。仍然習慣於使用XAML。 – cubski