次用到ListBox的时候,鼠标悬浮时,ListBoxItem的默认样式太丑了,设置了ItemTemplate也不管用,像这样的:

经过几次尝试后,终于解决了这个问题,记录一下,以后就不用到处百度找了。。。

其实很简单,只需定义一个ItemContainerStyle,即可。

  <Style x:Key="ItemContainerStyle1" TargetType="ListBoxItem"><Setter Property="SnapsToDevicePixels" Value="true"/><Setter Property="FocusVisualStyle" Value="{x:Null}"/><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="ListBoxItem"><Border Name="Border"Padding="7" Background="Transparent" SnapsToDevicePixels="True"><ContentPresenter /></Border><ControlTemplate.Triggers><Trigger Property="IsSelected" Value="true"><Setter TargetName="Border" Property="Background" Value="Green"/><Setter Property="Foreground" Value="White"/></Trigger><Trigger Property="IsEnabled" Value="false"><Setter Property="Foreground" Value="LightGray"/></Trigger></ControlTemplate.Triggers></ControlTemplate></Setter.Value></Setter>
</Style>

原来只要设置了一下模板就好了。。。

刚做出来时,我心里一w头***狂奔。。。

下面是测试的代码:

 <StackPanel HorizontalAlignment="Stretch" ><TextBlock Text="{Binding CurrentItem,StringFormat={}选中项:{0}}" FontSize="18"/><ListBox x:Name="lbPersonList" SelectedValue="{Binding CurrentItem}"SelectedValuePath="Text"ItemContainerStyle="{StaticResource ItemContainerStyle1}"><TextBlock Text="Hello,world"/><TextBlock Text="你好"/><TextBlock Text="你也好"/></ListBox></StackPanel>

设置了绑定的选中项value的路径,这样就可以在后台代码中获取选中项了。

后台代码:

public partial class IconFontButtonDemo : Window, INotifyPropertyChanged{private string _currentItem;public event PropertyChangedEventHandler PropertyChanged;public string CurrentItem{get { return _currentItem; }set{_currentItem = value;PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(CurrentItem)));}}public IconFontButtonDemo(){InitializeComponent();DataContext = this;}}

效果是这样的:

好了,就到这里了,wpf,踩坑中

WPF ListBox样式去掉默认选中效果相关推荐

  1. html如何设置radio单选按钮默认选中效果

    从标题看这个问题够简单,事实也是如此,不过在群里还是看到有初学者来询问这个问题,下面就展示一段代码实例,如果实现多个单选按钮实现其中的一个默认选中效果. 代码实例如下: 01 02 03 04 05 ...

  2. multiselect 去掉 默认选中 第一个

    动态加载option,没有选中任何option,但是refresh后,jquery multiselect却默认选中了第一个option 我上一篇文章的解决思路是,手动调用unchackAll方法解决 ...

  3. echarts修改鼠标悬浮样式和默认高亮效果,和传值高亮修改字体模糊

    具体的上代码 var myChartzuoixia = echarts.init(document.querySelector(''));$("#tableEcharts").re ...

  4. wpf listBox 多列大图片效果

    修改ListBox的模版 多列大图片效果,加上删除button 看图 上代码! <Window x:Class="Thunder.SetCenter.RoomSetting.Activ ...

  5. 微信小程序 — tag标签设置选中效果和未选样式

    实现如上图效果 .选中效果和未选中效果实现. 1.wxss文件.设置css样式.选中效果样式和默认的效果样式. stateChoose选中样式.  stateNotchoose未选中(默认)样式 .s ...

  6. html怎么设置img样式,css默认样式 css中img默认样式问题

    css a标签去掉默认样式是什么? 以下为css a标签去掉默认样式: a { text-decoration:none out-line: nonecolor: #*****;} 层叠样式表(英文全 ...

  7. 自定义WPF ListBox的选择样式

    (下图:进行多项选择的ListBox) 首先介绍一种简单地方法:就是通过自定义SystemColors类的参数来自定义WPF ListBox选择颜色的,SystemColors的HighlightBr ...

  8. html去掉文字蓝色选中效果,使用CSS3的::selection改变选中文本颜色的方法

    浏览器上页面文字选中后默认的背景色是一种蓝色, 不同浏览器的颜色有些许差异,但大致相同,文字颜色也近乎白色,如下图所示,截自Firefox3.6浏览器: 在CSS3的爸爸妈妈还没有相亲认识的时候,要改 ...

  9. 【vue3】设置element-tree的选中效果focus,鼠标飘过hover和利用按钮触发this.$refs[“tree“].setCurrentKey进行选中的样式

    参考: vue elementUI 覆盖el-tree的样式,修改鼠标点击时的颜色以及节点失去焦点时的背景色(亲测有效) element el-tree 树图颜色配置 element-ui tree树 ...

最新文章

  1. js/jq基础(日常整理记录)-3-一个自定义表格
  2. JavaScript中属性name与方法名不能相同
  3. spark任务shell运行_了解Spark 应用的一生
  4. Java并发编程的基础-线程的终止
  5. 不用if/while等操作实现
  6. Laravel服务提供器
  7. UE4学习-阶段性总结1
  8. 相等变为1 编号_JavaScript 中的 4 个相等比较算法的介绍
  9. 给汽车轮胎内充满水而不是气,行不行?
  10. Sql: 去除字符串中的相同的字符串函數
  11. MegaRAID Storage Manager RAID管理工具实用教程
  12. getopt两个模块getopt 和gun_getopt 的异同
  13. 红莲之弓矢(进击的巨人主题曲)
  14. QueryDSL介绍
  15. wincc项目激活需要哪些服务器,WinCC创建服务器客户端项目
  16. [POJ3384]Feng Shui(半平面交+凸包)
  17. 图形聚类算法:MCL
  18. JVM能够开启多少线程
  19. 企业打破私域“0”增长现状必读篇—《国外私域的超前形态》
  20. 把Kingston优盘做成USB-CDROM启动盘

热门文章

  1. aspnet中gridview文本只显示开始几个文本_软网推荐:三个小软件 轻松解决文本操作难题...
  2. Anaconda+vscode+pytorch环境搭建
  3. 数据库IN查询参数化改造的方法
  4. shell脚本传可选参数 getopts 和 getopt的方法
  5. Accoridion折叠面板
  6. 解决vue单页路由跳转后scrollTop的问题
  7. iOS runtime实战应用:关联对象
  8. 一张图看懂微软Power BI系列组件
  9. sybase sp_procxmode简述
  10. 使用delphi 开发多层应用(二十二)使用kbmMW 的认证管理器