listbox有scrollviewer,点击后不会触发selectionchanged事件

这个问题是因为在ListBox中的ScrollViewer处于焦点状态时,SelectionChanged事件没有触发。这通常是因为ScrollViewer在处理鼠标事件时会优先于ListBox。

为了解决这个问题,可以通过以下方法来确保SelectionChanged事件在ListBox中被触发:

在ListBox的ItemContainerStyle中添加一个触发器,当ListBoxItem得到焦点时,设置其IsSelected属性为True

<ListBox>

<ListBox.ItemContainerStyle>

<Style TargetType="ListBoxItem">

<Style.Triggers>

<Trigger Property="IsMouseOver" Value="True">

<Setter Property="IsSelected" Value="True"/>

</Trigger>

</Style.Triggers>

</Style>

</ListBox.ItemContainerStyle>

<!-- ListBox items here -->

</ListBox>

    <ListBoxx:Name="FaultInfoList"Width="220"ItemsSource="{Binding RealTimeFaultList}"><ListBox.ItemContainerStyle><Style TargetType="ListBoxItem"><Style.Triggers><Trigger Property="IsMouseOver" Value="True"><Setter Property="IsSelected" Value="True" /></Trigger></Style.Triggers></Style></ListBox.ItemContainerStyle><i:Interaction.Triggers><i:EventTrigger EventName="SelectionChanged"><i:InvokeCommandAction Command="{Binding DataContext.OpenDeviceDetailViewCommand, ElementName=mainWindow}" CommandParameter="{Binding ElementName=FaultInfoList, Path=SelectedItem}" /></i:EventTrigger></i:Interaction.Triggers><ItemsControl.ItemTemplate><DataTemplate><BorderMargin="0"BorderBrush="Red"BorderThickness="2,2,2,2"CornerRadius="3"><StackPanel Margin="2,0,0,0"><StackPanel><ScrollViewerxmlns:sys="clr-namespace:System;assembly=mscorlib"Height="70"Panel.ZIndex="-2"BorderThickness="0"VerticalScrollBarVisibility="Auto"><ScrollViewer.Resources><sys:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}">4</sys:Double><sys:Double x:Key="{x:Static SystemParameters.HorizontalScrollBarHeightKey}">4</sys:Double></ScrollViewer.Resources><TextBlockWidth="175"Margin="10,10,10,10"Text="{Binding Current_fault}"TextWrapping="Wrap"><i:Interaction.Triggers><i:EventTrigger EventName="MouseEnter"><i:InvokeCommandAction Command="{Binding DataContext.FaultDetailTextBlockMouseEnterCommand, ElementName=mainWindow}" CommandParameter="{Binding}" /></i:EventTrigger><i:EventTrigger EventName="MouseLeave"><i:InvokeCommandAction Command="{Binding DataContext.FaultDetailTextBlockMouseLeaveCommand, ElementName=mainWindow}" CommandParameter="{Binding}" /></i:EventTrigger></i:Interaction.Triggers></TextBlock></ScrollViewer></StackPanel></Border></DataTemplate></ItemsControl.ItemTemplate></ListBox>

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

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

相关文章

RE_RC4加密

之前做的几道题目&#xff0c;rc4也是经常遇到&#xff0c;今来系统学学&#xff0c;记录一下 对称加密&#xff0c;即加密和解密的密钥可以相互推导&#xff0c;也有的是相同的。 RC4 是以字节流处理每一个字节&#xff0c;而不是 DES 的分组操作。 包含三个参数&#xff1…

探索通信技术的未来:2024中国通信技术和智能装备产业博览会

探索通信技术的未来&#xff1a;2024通信技术产业专场 随着信息技术的飞速发展&#xff0c;通信技术已成为现代社会不可或缺的基础设施。2024年10月11日至13日&#xff0c;青岛将迎来一场通信技术的盛会——2024中国军民两用智能装备与通信技术产业博览会。本次博览会不仅将展…

面试(03)————多线程

目录 一、线程和进程的区别&#xff1f; 二、并行和并发的区别&#xff1f; 三、线程创建的方式有哪些&#xff1f; 3.1、继承Thread类 3.2、实现Runnable接口 3.3、实现Callable接口 3.4、线程池 四、Runnable和Callable的区别&#xff1f; 五、在启动线程的时候&am…

使用packstack快速部署OpenStack

目录 资源列表 基础环境 安装packstack 安装OpenStack 本文记录了基于CentOS操作系统使用packstack快速部署openstack。 资源列表 操作系统配置磁盘IP数量CentOS7.94C8G50G192.168.207.1551 基础环境 服务器开启虚拟化&#xff0c;我这里使用的是VMware虚拟机&#xff0…

Redis教程(二十二):Redis的过期删除和缓存淘汰策略

传送门:Redis教程汇总篇,让你从入门到精通 一、过期删除策略 Redis 中的过期删除策略是与 Redis 管理键的生命周期相关的一系列操作,用于删除过期的Key以释放内存。Redis 提供了三种主要的过期删除策略: 1、惰性删除(Lazy Expiration) 工作原理:当客户端尝试访问一个…

书生·浦语大模型全链路开源体系-笔记作业4

XTuner 微调 LLM:1.8B、多模态、Agent 引自&#xff1a;Tutorial/xtuner/personal_assistant_document.md at camp2 InternLM/Tutorial GitHub 1. XTuner介绍 引自&#xff1a;欢迎来到 XTuner 的中文文档 — XTuner 0.1.18.dev0 文档 1.1. 什么是 XTuner &#xff1f; X…

修改缓存供应商--EhCache

除了我们默认的缓存形式simlpe之外, 我们其实还有许多其他种类的缓存供应 Ehcache就是其中的一种形式 Ehcache在SpringBoot当中的使用: 其实跟我们之前整合第三方的资源是一样的形式 1>导入依赖: <!-- 更换缓存, 将默认使用的 Simple 更换为Ehcache--> <depe…

Redis 数据拷贝

一、从db0到db1 将redis数据从db0拷贝到db1&#xff0c;可以使用下面脚本进行复制 REDIS_CLI/usr/local/redis/bin/redis-cli hostredis_host portredis_port passwordredis_password old_base0 new_base1${REDIS_CLI} -h ${host} -p ${port} -a ${password} -n $old_base ke…

【go】windows环境设置goos

场景 本地环境&#xff1a;windows 生产环境&#xff1a;linux 现想在本地将go脚本编译为可执行二进制文件&#xff0c;转移至生产中进行运行测试。但go build不生效。 方案&#xff08;修改GOOS&#xff09; cmd打开命令行&#xff0c;执行go env查看本地go环境&#xff0c…

PPT视频如何16倍速或者加速播放

有两种方式&#xff0c;一种是修改PPT本身&#xff0c;这种方式非常繁琐&#xff0c;不太推荐&#xff0c;还有一种就是修改视频本身&#xff0c;直接让视频是16倍速的视频即可。 如何让视频16倍速&#xff0c;我建议人生苦短&#xff0c;我用Python&#xff0c;几行代码&…

基本元器件 - 电阻

目录 电阻的选型 贴片封装的参数 电阻的阻值 丝印表示方法 标准电阻取值 电阻的失效 0 欧姆电阻的使用 电阻的使用场景 分压电路 分流电路 限流电路 阻抗匹配电路 RC 充放电电路 上下拉电路 其他电路 电阻的选型 一般来说&#xff0c;要考虑以下四个因素&…

【大模型】基于Hugging Face调用及微调大模型(1)

文章目录 一、前言二、Transformer三、Hugging Face3.1 Hugging Face Dataset3. 2 Hugging Face Tokenizer3.3 Hugging Face Transformer3.4 Hugging Face Accelerate 四、基于Hugging Face调用模型4.1 调用示例4.2 调用流程概述4.2.1 Tokenizer4.2.2 模型的加载4.2.3 模型基本…

【java 中 IO 流分为几种?】

文章目录 概要分类&#xff08;1&#xff09;按照流的方向分类&#xff08;2&#xff09;按照操作数据单位分类&#xff08;3&#xff09;按照IO流的角色分类&#xff08;4&#xff09;常用流的总结 总结 概要 在Java中&#xff0c;IO流主要用于处理数据的传输&#xff0c;它们…

软信天成:告别数据脏乱差!企业数据清洗实战方案分享

低质量数据普遍存在。据统计&#xff0c;数据质量问题每年给企业造成高达3.1万亿美元的损失。为了防范这种损失&#xff0c;越来越多的企业采用数据清洗来清洗数据&#xff0c;提高数据质量。 数据清洗&#xff0c;顾名思义是将数据上“脏”的部分清洗掉&#xff0c;让数据变得…

UV胶为什么会开裂?如何避免UV胶开裂?

UV胶为什么会开裂&#xff1f;如何避免UV胶开裂&#xff1f; UV胶开裂可能由以下几个主要因素导致&#xff1a; 紫外线照射不足&#xff1a;UV胶的固化需要足够的紫外线能量。如果紫外线照射不足&#xff0c;胶水可能无法完全固化&#xff0c;导致开裂。这可能是由于固化设备…

调试线上资源文件失效问题

之前的老项目&#xff0c;突然报红&#xff0c;为了定位问题&#xff0c;使用注入和文件替换的方式进行问题定位&#xff01; 1.使用注入 但是刷新后就没有了&#xff0c;不是特别好用&#xff01; const jqScript document.createElement(script); jqScript.src https://…

从入门到精通:Java三目运算符详细教程!

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。运营社区&#xff1a;C站/掘金/腾讯云&#xff1b;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一…

富格林:谨慎欺诈套路防止被骗

富格林指出&#xff0c;近些年来&#xff0c;在全球风险事件频发的背景下&#xff0c;黄金的避险价值得以凸显&#xff0c;越来越多投资者被黄金市场可观的收益所吸引&#xff0c;纷纷加入黄金市场参与投资交易。很多初次接触黄金的投资者比较关心的是普通投资者如何谨慎欺诈套…

x264 参考帧管理原理:b_ref_reorder 数组变量

b_ref_reorder变量 在x264编码器中,b_ref_reorder是一个布尔类型的数组,用于标识当前编码的切片是否需要对参考帧列表进行重排序。这个数组通常有两个元素,分别对应于两个参考帧列表:前向参考帧列表(list0)和后向参考帧列表(list1)。 以下是b_ref_reorder的一些关键点:…

探索 Linux 中的 Chronyc:一个用于配置和管理 Chrony 的实用工具

探索 Linux 中的 Chronyc&#xff1a;一个用于配置和管理 Chrony 的实用工具 在 Linux 系统中&#xff0c;时间同步是一个至关重要的功能&#xff0c;它确保了系统时间的准确性&#xff0c;对于各种网络服务和应用来说都至关重要。Chrony 是一个开源的时间同步工具&#xff0c…