使用 Material 设计时更改 ListViewItem 背景颜色
Changing ListViewItem background colour while using Material Design
我是 WPF 的新手,我 运行 遇到了我的应用程序设计问题。我有带 ListView 的 UserControl,我需要动态更改 ListViewItems 的背景颜色。当我将以下代码添加到我的 ListView 时,一切正常。
<ListView.Resources>
<Style TargetType="{x:Type ListViewItem}">
<Style.Triggers>
<DataTrigger Binding="{Binding Status}" Value="NotStarted">
<Setter Property="Background" Value="White" />
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="Fail">
<Setter Property="Background" Value="#FF6666" />
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="Success">
<Setter Property="Background" Value="#80FF80" />
</DataTrigger>
</Style.Triggers>
</Style>
</ListView.Resources>
问题是当我将 Material 设计添加到我的 App.xaml 文件中时,颜色停止变化。
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Light.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.DeepPurple.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.Lime.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
有什么解决办法吗?
在评论中回答正确。
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem" BasedOn="{StaticResource MaterialDesignGridViewItem}">
<Style.Triggers>
<DataTrigger Binding="{Binding FirstName}" Value="John">
<Setter Property="Background" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
我是 WPF 的新手,我 运行 遇到了我的应用程序设计问题。我有带 ListView 的 UserControl,我需要动态更改 ListViewItems 的背景颜色。当我将以下代码添加到我的 ListView 时,一切正常。
<ListView.Resources>
<Style TargetType="{x:Type ListViewItem}">
<Style.Triggers>
<DataTrigger Binding="{Binding Status}" Value="NotStarted">
<Setter Property="Background" Value="White" />
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="Fail">
<Setter Property="Background" Value="#FF6666" />
</DataTrigger>
<DataTrigger Binding="{Binding Status}" Value="Success">
<Setter Property="Background" Value="#80FF80" />
</DataTrigger>
</Style.Triggers>
</Style>
</ListView.Resources>
问题是当我将 Material 设计添加到我的 App.xaml 文件中时,颜色停止变化。
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Light.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.DeepPurple.xaml" />
<ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.Lime.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
有什么解决办法吗?
在评论中回答正确。
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem" BasedOn="{StaticResource MaterialDesignGridViewItem}">
<Style.Triggers>
<DataTrigger Binding="{Binding FirstName}" Value="John">
<Setter Property="Background" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>