【发布时间】:2019-01-17 15:46:00
【问题描述】:
我是 WPF 新手,我不知道如何在列表视图中更改选择颜色。我尝试了很多事情,但我无法改变。以下是代码:
MainWindow.xaml:
<Window x:Class="MyListView.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:MyListView"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Window.Resources>
<Style TargetType="ListViewItem">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Red"/>
</Style.Resources>
</Style>
</Window.Resources>
<Grid>
<ListView x:Name="MovieListView" Margin="30,0,50,48" Height="344" VerticalAlignment="Bottom">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path= MovieID}" />
<TextBlock Text="{Binding Path= MovieName}" FontWeight="Bold" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
</Window>
MainWindow.xaml.cs
namespace MyListView
{
public class MyDataModel
{
public String MovieName { get; set; }
public String MovieID { get; set; }
public MyDataModel(String ID, String Name)
{
MovieID = ID;
MovieName = Name;
}
}
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
MovieListView.Items.Add(new MyDataModel("MV_1","Movie 1" ));
MovieListView.Items.Add(new MyDataModel("MV_2", "Movie 2"));
MovieListView.Items.Add(new MyDataModel("MV_3", "Movie 3"));
}
}
}
能否请您解释一下如何更改选择颜色。
Edit1:添加截图
【问题讨论】:
-
我刚刚尝试了您的代码,没有进行任何更改,它运行良好。每当我尝试选择一个项目时,它的背景颜色都会变为红色。你还在寻找什么?
-
@ShivaniKatukota 当我单击该项目时,我真的看不到任何颜色变化。我还发布了屏幕截图。请检查。
-
一定有其他代码阻挡了您的颜色。可能还有其他触发因素或风格?
-
只有一个ListView,除了ListView之外没有触发器或样式。这是我的测试项目,我不知道它不起作用!!!。