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,踩坑中
WPF ListBox样式去掉默认选中效果相关推荐
- html如何设置radio单选按钮默认选中效果
从标题看这个问题够简单,事实也是如此,不过在群里还是看到有初学者来询问这个问题,下面就展示一段代码实例,如果实现多个单选按钮实现其中的一个默认选中效果. 代码实例如下: 01 02 03 04 05 ...
- multiselect 去掉 默认选中 第一个
动态加载option,没有选中任何option,但是refresh后,jquery multiselect却默认选中了第一个option 我上一篇文章的解决思路是,手动调用unchackAll方法解决 ...
- echarts修改鼠标悬浮样式和默认高亮效果,和传值高亮修改字体模糊
具体的上代码 var myChartzuoixia = echarts.init(document.querySelector(''));$("#tableEcharts").re ...
- wpf listBox 多列大图片效果
修改ListBox的模版 多列大图片效果,加上删除button 看图 上代码! <Window x:Class="Thunder.SetCenter.RoomSetting.Activ ...
- 微信小程序 — tag标签设置选中效果和未选样式
实现如上图效果 .选中效果和未选中效果实现. 1.wxss文件.设置css样式.选中效果样式和默认的效果样式. stateChoose选中样式. stateNotchoose未选中(默认)样式 .s ...
- html怎么设置img样式,css默认样式 css中img默认样式问题
css a标签去掉默认样式是什么? 以下为css a标签去掉默认样式: a { text-decoration:none out-line: nonecolor: #*****;} 层叠样式表(英文全 ...
- 自定义WPF ListBox的选择样式
(下图:进行多项选择的ListBox) 首先介绍一种简单地方法:就是通过自定义SystemColors类的参数来自定义WPF ListBox选择颜色的,SystemColors的HighlightBr ...
- html去掉文字蓝色选中效果,使用CSS3的::selection改变选中文本颜色的方法
浏览器上页面文字选中后默认的背景色是一种蓝色, 不同浏览器的颜色有些许差异,但大致相同,文字颜色也近乎白色,如下图所示,截自Firefox3.6浏览器: 在CSS3的爸爸妈妈还没有相亲认识的时候,要改 ...
- 【vue3】设置element-tree的选中效果focus,鼠标飘过hover和利用按钮触发this.$refs[“tree“].setCurrentKey进行选中的样式
参考: vue elementUI 覆盖el-tree的样式,修改鼠标点击时的颜色以及节点失去焦点时的背景色(亲测有效) element el-tree 树图颜色配置 element-ui tree树 ...
最新文章
- js/jq基础(日常整理记录)-3-一个自定义表格
- JavaScript中属性name与方法名不能相同
- spark任务shell运行_了解Spark 应用的一生
- Java并发编程的基础-线程的终止
- 不用if/while等操作实现
- Laravel服务提供器
- UE4学习-阶段性总结1
- 相等变为1 编号_JavaScript 中的 4 个相等比较算法的介绍
- 给汽车轮胎内充满水而不是气,行不行?
- Sql: 去除字符串中的相同的字符串函數
- MegaRAID Storage Manager RAID管理工具实用教程
- getopt两个模块getopt 和gun_getopt 的异同
- 红莲之弓矢(进击的巨人主题曲)
- QueryDSL介绍
- wincc项目激活需要哪些服务器,WinCC创建服务器客户端项目
- [POJ3384]Feng Shui(半平面交+凸包)
- 图形聚类算法:MCL
- JVM能够开启多少线程
- 企业打破私域“0”增长现状必读篇—《国外私域的超前形态》
- 把Kingston优盘做成USB-CDROM启动盘
热门文章
- aspnet中gridview文本只显示开始几个文本_软网推荐:三个小软件 轻松解决文本操作难题...
- Anaconda+vscode+pytorch环境搭建
- 数据库IN查询参数化改造的方法
- shell脚本传可选参数 getopts 和 getopt的方法
- Accoridion折叠面板
- 解决vue单页路由跳转后scrollTop的问题
- iOS runtime实战应用:关联对象
- 一张图看懂微软Power BI系列组件
- sybase sp_procxmode简述
- 使用delphi 开发多层应用(二十二)使用kbmMW 的认证管理器