WPF ListBox样式去掉默认选中效果

次用到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,踩坑中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303627.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win8计算机安全模式,WIN8如何设置按F8进入安全模式

Win8/win10系统想进入安全模式就不是太容易的事了。之前的Win7和XP等系统可以通过在开机时按F8进入安全模式选择菜单。有什么方法可以设置让Win8/win10系统按F8直接进入安全模式菜单。下面学习啦小编向大家介绍让Win8/win10系统通过这种老办法按F8进入安全模式的方法&#xff0…

当你不喜欢一个人(一段话、一篇文章)的时候

为什么80%的码农都做不了架构师&#xff1f;>>> 我知道技术人员都喜欢争论&#xff0c;因为我也算半个。不过我总觉得&#xff0c;有些争论是没有必要存在的。因为沟通是以交流为目的的&#xff0c;若本身对方就不是来交流而是做宣传的&#xff0c;推销一种观点。那…

C# WPF框架Caliburn.Micro快速搭建

1. Caliburn是什么&#xff1f;Caliburn是Rob Eisenberg在2009年1月26日(Robs MIX10 talk "Build Your Own MVVM Framework")提出的一个MVVM类的开源框架。它是一套用于协助开发WPF&#xff0c;Silverlight&#xff0c;WP7和Win RT等的应用程序的库。Caliburn.Micro由…

怎么可以让计算机不能联网,我想让电脑:只能收发电子邮件,不能上网,怎样设置?...

2006-01-04 14:47:58用美萍卫士就可以。全部2006-01-04 14:47:582006-01-04 13:22:37第一种全部删除 最好的方式打开系统所在目录找到 IE 的所在地全部删除然后安装放火墙&#xff0c;以瑞星为例子~~~找到启动~~关闭HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVers…

火柴人_火柴人 x THANKSGIVING

滴水之恩当涌泉相报&#xff0c;THANKSGIVING是我们给予对方的温暖。很多时候我们却发现&#xff0c;帮助我们的人其实并不求回报。也许&#xff0c;当我们想要感恩得到的帮助时&#xff0c;更应该做的&#xff0c;是铭记他人的善意&#xff0c;并努力把这份温暖传递下去。2020…

Vim as Python IDE on windows

下载安装Python。 从Vim的网站下载vim,建议下Self-installing executable的版本。 编辑vim的配置文件_vimrc 拷贝vimrc_example里面的东东到_vimrc 去掉_vimrc里面的source $VIMRUNTIME/vimrc_example.vim 设置中文支持 "设置编码自动识别, 中文引号显示 "set fileen…

电脑上的ofd格式文件如何打开呢_OFD格式的文件怎么打开预览?,来充电吧

我们不管是在工作、学习、下载资源的时候都可能收到别人的文件&#xff0c;但是如果是word或者pfd格式还好&#xff0c;直接在电脑上就可以打开&#xff0c;但是如果是ofd格式的就很难打开了。工具/材料搜狗浏览器、DCS文档在线预览操作方法01打开我们的搜狗浏览器&#xff0c;…

MySql里的My是指谁?

Monty 是一个编程天才。19岁的时候就从赫尔辛基理工大学退学并找了份全职工作&#xff0c;因为在学校里已经不能再教他什么了。33岁的时候他发布了 MySQL&#xff0c;世界上最有名的开源数据库&#xff0c;除了一个库之外&#xff0c;他编写了数据库的全部东西。55岁的时候他抛…

要嫁就嫁程序猿——钱多话少死的早

1程序猿问科比&#xff1a;“你为什么这么成功&#xff1f; ”科比&#xff1a;“你知道洛杉矶凌晨四点是什么样子吗&#xff1f; ”程序猿&#xff1a;“知道&#xff0c;一般那个时候我还在写代码&#xff0c;怎么了&#xff1f;”科比&#xff1a;“额…….”2女神&#xff…

ajax上传文件 获取失败,Ajax上传文件/照片时报错TypeError :Illegal invocation的解决方法...

本篇文章给大家带来的内容是关于Ajax上传文件/照片时报错TypeError &#xff1a;Illegal invocation的解决方法&#xff0c;有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对你有所帮助。问题Ajax上传文件/照片时报错TypeError &#xff1a;Illegal in…

再见!微软宣布终止对旧版 Microsoft Edge 浏览器的支持

微软宣布自 2021 年 3 月 9 日起终止对旧版 Microsoft Edge&#xff08;Microsoft Edge Legacy&#xff09;浏览器的支持。旧版 Microsoft Edge 是基于 EdgeHTML 的浏览器&#xff0c;自 2015 年 7 月 29 日随新一代 Windows 10 操作系统推出。在结束对旧版 Microsoft Edge 浏览…

机器学习:怎样才能做到从入门到不放弃?

2017年人工智能已经列入了国务院的人工智能发展规划中&#xff0c;人工智能将成为推动中国发展的新生科技力量&#xff0c;并在未来扮演着越来越重要的角色&#xff0c;对于想要从事AI行业的小伙伴们来说&#xff0c;如何能够快速、深入的掌握机器学习相关知识显得尤为重要。下…

有必要服务器虚拟化吗,服务器虚拟化有必要吗

服务器虚拟化有必要吗 内容精选换一换专属云(DeC)专属虚拟化资源池。在专属云内&#xff0c;用户可申请独占物理设备&#xff0c;独享计算和网络资源&#xff0c;并使用可靠的分布式存储。专属虚拟化资源池。在专属云内&#xff0c;用户可申请独占物理设备&#xff0c;独享计算…

C#实用小知识:字符串里的换行

从前&#xff0c;用asp.net core写了一个给客户发交易明细的应用&#xff0c;每天发一次&#xff0c;因为是csv格式&#xff0c;当时用的是StringBuilder来一行一行组装数据&#xff0c;组装完后&#xff0c;EMali或SFTP给客户。后来&#xff0c;为节省服务器资源&#xff0c;需…

多重信号辅助音频分离,让你在嘈杂环境也能指哪听哪儿

在刚刚结束的 I/O 大会的主题演讲中&#xff0c;Google CEO Sundar 提出了机器学习在无障碍&#xff08;Accessibility&#xff09;方面的用例&#xff1a;有听觉障碍的人在观看视频时往往需要配合字幕来完成辅助理解&#xff0c;但是如果你遇到了多个人同时在说话&#xff0c;…

线性表的链式实现

用链式实现的线性表&#xff0c;公共接口ADT跟上一篇一样 1&#xff0c;有序链表 成员变量和构造函数&#xff1a; privateLinearNode front;privateintcount;publicLinkedOrderedList(){ front null; count 0;实现清单&#xff08;将ADT和有序链表扩展的独有操作分别作了注释&…

mysql5.7组复制多主一从搭建_MySql5.7-多源复制(多主单从)

1.1.主库配置my.cnf#确保唯一server-id1#作为Master要开启binloglog-binmysql-bin#binlog format有三种形式&#xff1a;Statement、Mixed、Row&#xff0c;默认设置为mixedbinlog-formatmixed#需要同步的库&#xff0c;不指定默认同步全部库binlog-do-dbradius#不需要同步的库…

我敢打赌,这世界没有python数据分析解决不了的问题

相信许多做数据的都有这样的经历&#xff1a;你花了大半天整合了一张数据表&#xff0c;却因为其他部门的错误&#xff0c;导致表格结构全错了&#xff01;于是你又要吭哧吭哧重新来过...每次数据都重复洗一遍&#xff0c;还这么慢&#xff0c;要是有一劳永逸的方法就好了。一劳…

mysql 存储二进制数据_为什么在MySQL中存储二进制数据?

Im a little confused - what are the pros of storing binary data in DB? Is it for security reasons, or there are some more complicated motives i dont see?Thanks for your time.解决方案As opposed to what? Putting it in the filesystem?The drawbacks to usin…

福利再度来袭,R语言数据分析书籍值得你拥有

在这个大数据的时代&#xff0c;数据分析和数据挖掘的重要性日益明显&#xff0c;小编也一直有意识地收集相关数据集&#xff0c;经过长时间的积累和沉淀&#xff0c;已经拥有十几本有关用R做数据分析和数据挖掘的书籍&#xff0c;有《统计建模与R软件》&#xff08;含源码&…