当前位置: 首页 > news >正文

WPF ListView 鼠标点击,移动改变背景色不启作用

构建数据源

 <Window.Resources><x:ArrayExtension x:Key="stringList"xmlns="clr-namespace:System;assembly=mscorlib"Type="String"><String>第一行</String><String>第二行</String><String>第三行</String><String>第四行</String></x:ArrayExtension></Window.Resources>

1.    <ListView.ItemContainerStyle>  +   <ListView.View>  可以生效,背景色变颜色,

ListView.ItemContainerStyle 中存放触发器

ListView.View中存放数据

这样只能按列显示多列多行,不能多行多列作为一项显示

如下所示:

 <ListView Grid.Row="0" Name="ItemList" ItemsSource="{StaticResource stringList}" ><ListView.ItemContainerStyle><Style TargetType="{x:Type ListViewItem}"><Setter Property="FontSize" Value="15" /><Setter Property="Margin" Value="0,-40,0,40" /><Style.Triggers><Trigger Property="IsSelected" Value="True"><Setter Property="Background" Value="#9C71B9" /><Setter Property="Foreground" Value="white" /></Trigger><Trigger Property="IsMouseOver" Value="True"><Setter Property="Background" Value="Green" /><Setter Property="Foreground" Value="white" /></Trigger><Trigger Property="IsEnabled" Value="False"><Setter Property="Background" Value="#757575" /><Setter Property="Foreground" Value="black" /></Trigger></Style.Triggers></Style></ListView.ItemContainerStyle><ListView.View><GridView><GridViewColumn><GridViewColumn Header="Name" Width="120" DisplayMemberBinding="{Binding}" /></GridViewColumn></GridView></ListView.View></ListView>

2.   <ListView.ItemContainerStyle> +   <ListView.ItemTemplate>  不生效,背景色不改变颜色,

ListView.ItemContainerStyle 中存放触发器

ListView.ItemTemplate中存放数据

如下所示:

        <ListView  Name="ItemList" ItemsSource="{StaticResource stringList}"><ListView.ItemContainerStyle><Style TargetType="{x:Type ListViewItem}"><Setter Property="FontSize" Value="15" /><Setter Property="Margin" Value="0,-40,0,40" /><Style.Triggers><Trigger Property="IsSelected" Value="True"><Setter Property="Background" Value="#9C71B9" /><Setter Property="Foreground" Value="white" /></Trigger><Trigger Property="IsMouseOver" Value="True"><Setter Property="Background" Value="Green" /><Setter Property="Foreground" Value="white" /></Trigger></Style.Triggers></Style></ListView.ItemContainerStyle><ListView.ItemTemplate><DataTemplate><StackPanel ><StackPanel Orientation="Horizontal"><TextBlock Text="{Binding }" Height="30"  Name="Label_Amount" Width="100" Foreground="White"/></StackPanel></StackPanel></DataTemplate></ListView.ItemTemplate></ListView>

3.    只有ListView.ItemContainerStyle,可以生效

数据放在<Setter Property="Template">里,触发器放在  <Style.Triggers>,如下所示:

<ListView   Width="300" Height="400" x:Name="celist" ItemsSource="{StaticResource stringList}" Background="Black"><ListView.ItemContainerStyle><Style TargetType="ListViewItem"><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="ListBoxItem"><Border Background="{TemplateBinding Background}"><StackPanel ><StackPanel Orientation="Horizontal"><TextBlock Text="{Binding }" Height="30"  Name="Label_Amount" Width="100" Foreground="White"/></StackPanel><StackPanel HorizontalAlignment="Left"  Orientation="Horizontal"><TextBlock Text="{Binding }" Name="Label_ShortDescription" Width="200" Foreground="White"/></StackPanel></StackPanel></Border></ControlTemplate></Setter.Value></Setter><Style.Triggers><Trigger Property="IsSelected" Value="True"><Setter Property="Background" Value="#9C71B9" /><Setter Property="Foreground" Value="white" /></Trigger><Trigger Property="IsMouseOver" Value="True"><Setter Property="Background" Value="Green" /><Setter Property="Foreground" Value="white" /></Trigger></Style.Triggers></Style></ListView.ItemContainerStyle></ListView>

http://www.lryc.cn/news/196225.html

相关文章:

  • Maven Dependency 机制
  • CustomShapes/自定义形状, CustomCurves/自定义曲线, AnimateableData/数据变化动画 的使用
  • 软件测试用例设计方法-因果图法
  • 水库大坝安全监测是什么和主要作用?
  • 极品三国新手攻略之进阶篇
  • windows应用程序告警:帐户名与安全标识间无任何映射完成
  • 自定义jenkins镜像提示FontConfiguration.head错误
  • 《软件方法》2023版第1章(10)应用UML的建模工作流-大图
  • The given SOAPAction http__xxxxx_xx does not match an operation
  • 【java零基础入门到就业】第二天:jdk的下载安装和第一个HelloWorld程序
  • C++数据结构X篇_15_求二叉树叶子数与高度(递归方法)
  • MySQL锁学习笔记
  • 如何将前后端分离项目部署到本地的Docker Desktop容器运行并且访问
  • 前端开发中的try...catch
  • 数据加密中,采用密钥管理系统相比加密机的好处
  • Elasticsearch:什么是大语言模型 (LLMs)?
  • 神奇的python的生成器
  • 【来点小剧场--项目测试报告】个人博客项目自动化测试
  • 【安卓环境搭建报错的解决】
  • Pruning Pre-trained Language Models Without Fine-Tuning
  • Java内存模型-Java Memory Model(JMM)-可见性、原子性、有序性
  • 基于Springboot实现在线答疑平台系统项目【项目源码+论文说明】
  • 前端工程化知识系列(1)
  • xml文件报错 ORA-00907: 缺失右括号
  • VScode platformio的使用
  • transformer_01
  • JavaSE入门---认识方法
  • 编译[Bug]——too few arguments for template template parameter “Tuple“ detected
  • 网工内推 | 南天软件,base北京,需持有CCIE认证,最高25k
  • Unity有限状态机的简易实现