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

记录一下ComboBox在listview中的问题,后面再解决。

在listview的ComboBox,ViewModel类得不到ComboBox的 SelectedModeIndex 和 SelectionChanged事件。

问题描述:

1. 在listview中有ComboBox

2.  数据源类 InspectionInfo ,其中有ComboBox的绑定数据源 ModelList,代码如下:

   public  class InspectionInfo : BindableBase{/// <summary>/// 模式名称列表 /// </summary>private ObservableCollection<BaseModeOption> _modelList;public ObservableCollection<BaseModeOption> ModelList{get{return _modelList;}set{SetProperty(ref _modelList, value);}}private ExamePartsStat _examePartInfo;public ExamePartsStat ExamePartInfo{get{return _examePartInfo;}set{SetProperty(ref _examePartInfo, value);}}private Inspection _currentInspection;/// <summary>/// 当前的多项检查/// </summary>public Inspection CurrentInspection{get => _currentInspection;set{SetProperty(ref _currentInspection, value);}}private int _selectedModeIndex = 0;public int SelectedModeIndex{get => _selectedModeIndex;set => SetProperty(ref _selectedModeIndex, value);}private DelegateCommand<object> _selectionModeChangedCommand;/// <summary>/// 模式改变事件/// </summary>public DelegateCommand<object> SelectionModeChangedCommand =>_selectionModeChangedCommand ??= new DelegateCommand<object>(ExecuteSelectionModeChangedCommand);/// <summary>/// 模式选择改变事件/// </summary>/// <param name="parameter"></param>private void ExecuteSelectionModeChangedCommand(object parameter){SharedViewModel shared = DI.Resolve<SharedViewModel>();shared.InvokeModeChangedCommand(SelectedModeIndex);}}

3. ViewModel类,构建了listView的数据源

private ObservableCollection<InspectionInfo> _inspectionInfoList;public ObservableCollection<InspectionInfo> InspectionInfoList{get => _inspectionInfoList;set => SetProperty(ref _inspectionInfoList, value);}

4. 页面绑定, ListView 绑定 InspectionInfoList, ComboBox的绑定数据源 ModelList,代码如下:

<ListView Grid.Row="0" Name="ItemList" ItemsSource="{Binding InspectionInfoList}" Background="#515151"  SelectedIndex="{Binding SelectedListItemIndex,Mode=TwoWay}" ><ListView.ItemContainerStyle><Style TargetType="ListViewItem"><Setter Property="Margin" Value="0,-40,0,40" /><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="ListBoxItem"><Border Background="{TemplateBinding Background}"><StackPanel ><Grid><Grid.ColumnDefinitions><ColumnDefinition Width="*"/><ColumnDefinition Width="*"/><ColumnDefinition Width="150"/></Grid.ColumnDefinitions><TextBlock Text="{Binding Path=CurrentInspection.RegistrationNo}" Foreground="White" Grid.Row="1" Grid.Column="0"  Grid.ColumnSpan="2" HorizontalAlignment="left" VerticalAlignment="Center"/><ComboBox  Style="{StaticResource ComboBoxInPanelStyle}"  ItemsSource="{Binding ModelList}"   SelectedIndex="{Binding SelectedModeIndex,Mode=TwoWay}"  SelectedValuePath="Name"  DisplayMemberPath="Name" Grid.Row="1" Grid.Column="2"  SelectedValue="{Binding SelectedValue,Mode=TwoWay}"><be:Interaction.Triggers><be:EventTrigger EventName="SelectionChanged"><prism:InvokeCommandAction Command="{Binding SelectionModeChangedCommand}"/></be:EventTrigger></be:Interaction.Triggers></ComboBox></Grid></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="#1D1D1D" /><Setter Property="Foreground" Value="white" /></Trigger><Trigger Property="IsEnabled" Value="False"><Setter Property="Background" Value="#757575" /><Setter Property="Foreground" Value="white" /></Trigger></Style.Triggers></Style></ListView.ItemContainerStyle><be:Interaction.Triggers><be:EventTrigger EventName="SelectionChanged"><prism:InvokeCommandAction Command="{Binding Path=ListItemChangedCommand}"/></be:EventTrigger></be:Interaction.Triggers></ListView>

5. 问题是 ComboBox的 SelectedModeIndex 和 SelectionChanged  事件只能在InspectionInfo类中的得到,在ViewModel类中得不到。没办法,只能通过事件,在ViewModel中得到。

相关文章:

记录一下ComboBox在listview中的问题,后面再解决。

在listview的ComboBox&#xff0c;ViewModel类得不到ComboBox的 SelectedModeIndex 和 SelectionChanged事件。 问题描述&#xff1a; 1. 在listview中有ComboBox 2. 数据源类 InspectionInfo &#xff0c;其中有ComboBox的绑定数据源 ModelList&#xff0c;代码如下&#…...

手写一个PrattParser基本运算解析器1: 编译原理概述

点击查看 基于Swift的PrattParser项目 编译原理概述 编译原理是我们每一个程序猿必须要了解的技能, 编译原理实际上并没有啥高深的技术, 我们如果在做业务开发, 也很少会用到编译开发的知识, 但是编译原理又是我们必备的基础知识之一. 所以我们需要对编译原理的内容有一个大概的…...

ZKP3.2 Programming ZKPs (Arkworks Zokrates)

ZKP学习笔记 ZK-Learning MOOC课程笔记 Lecture 3: Programming ZKPs (Guest Lecturers: Pratyush Mishra and Alex Ozdemir) 3.3 Using a library ( tutorial) R1CS Libraries A library in a host language (Eg: Rust, OCaml, C, Go, …)Key type: constraint system Mai…...

mysqld: File ‘./binlog.index‘ not found (OS errno 13 - Permission denied) 问题解决

问题背景 Centos7 安装Mysql 8后启动时遇到的问题&#xff0c;看了好几个博客方案无效&#xff0c;搞了半小时才找到正解&#xff0c;在此次进行记录。 在此假设你已经修改了对应目录的权限&#xff0c;比如配置的mysql data目录初始化后已经执行了chown -R mysql:mysql /XXX/…...

Python 环境构建最佳实践:Mamba + Conda + PIP

此前,我们单独介绍过 PIP 和 Conda,在后续的实际应用中,还是遇到了不少 Python 环境构建的问题,特别是在 Windows 系统上,最突出的表现是:虽然PIP的包依赖解析和下载都很快,但在 Windows 上经常会因为缺失底层依赖的程序库(例如某些dll文件)而导致 Python 程序启动时报…...

华为OD 最多团队(100分)【java】A卷+B卷

华为OD统一考试A卷+B卷 新题库说明 你收到的链接上面会标注A卷还是B卷。目前大部分收到的都是B卷。 B卷对应20022部分考题以及新出的题目,A卷对应的是新出的题目。 我将持续更新最新题目 获取更多免费题目可前往夸克网盘下载,请点击以下链接进入: 我用夸克网盘分享了「华为O…...

2023“龙芯杯”信创攻防赛 | 赛宁网安技术支持

2023年10月19日&#xff0c;为深入贯彻国家网络强国战略思想&#xff0c;宣传国家网络安全顶层设计&#xff0c;落实《网络安全法》《数据安全法》等法律法规。由大学生网络安全尖锋训练营主办&#xff0c;龙芯中科技术股份有限公司承办&#xff0c;山石网科通信技术股份有限公…...

代码随想录算法训练营第五十八天| 583. 两个字符串的删除操作 72. 编辑距离

今日学习的文章链接和视频链接 两个字符串的删除操作 https://programmercarl.com/0583.%E4%B8%A4%E4%B8%AA%E5%AD%97%E7%AC%A6%E4%B8%B2%E7%9A%84%E5%88%A0%E9%99%A4%E6%93%8D%E4%BD%9C.html 编辑距离 https://programmercarl.com/0072.%E7%BC%96%E8%BE%91%E8%B7%9D%E7%A6%BB…...

leetcode做题笔记191. 位1的个数

编写一个函数&#xff0c;输入是一个无符号整数&#xff08;以二进制串的形式&#xff09;&#xff0c;返回其二进制表达式中数字位数为 1 的个数&#xff08;也被称为汉明重量&#xff09;。 提示&#xff1a; 请注意&#xff0c;在某些语言&#xff08;如 Java&#xff09;中…...

Git基本命令和使用

文章目录 1、Git本地库命令1.1、初始化本地库1.2、设置用户签名1.3、查看本地库状态1.4、将工作区的修改添加到暂存区1.5、将暂存区的修改提交到本地库1.6、历史版本1.7、取消commit1.8、取消暂存文件 2、分支操作2.1、查看分支2.2、创建分支2.3、分支合并时产生冲突 3、Gitee远…...

50springboot私人健身与教练预约管理系统

大家好✌&#xff01;我是CZ淡陌。一名专注以理论为基础实战为主的技术博主&#xff0c;将再这里为大家分享优质的实战项目&#xff0c;本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路…...

测试Android webview 加载本地html

最近开发一个需要未联网功能的App, 不熟悉使用Java原生开发界面&#xff0c;于是想使用本地H5做界面&#xff0c;本文测试了使用本地html加载远程数据。直接上代码&#xff1a; MainActivity.java package com.alex.webviewlocal;import androidx.appcompat.app.AppCompatAct…...

ubuntu安装pgsql

ubuntu安装postgresSQL 官网地址&#xff1a; https://www.postgresql.org/download/ 1.安装 # 添加源 sudo sh -c echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list # 安装数字签名 w…...

利用ArcGIS获取每一个冰川的中心位置经纬度坐标:要素转点和要素折点转点的区别

问题概述&#xff1a;下图是天山地区的冰川的分布&#xff0c;我们可以看到每一条冰川是一个面要素&#xff0c;要求得到每一个冰川&#xff08;面要素&#xff09;的中心经纬度坐标。 1.采用要素转点功能 选择工具箱的【数据管理工具】-【要素】-【要素转点】。完成之后再采用…...

数据结构中的七大排序(Java实现)

目录 一、直接插入排序 二、希尔排序 三、直接选择排序 四、堆排序 五、冒泡排序 六、快速排序 七、归并排序 一、直接插入排序 思想&#xff1a; 定义i下标之前的元素全部已经有序&#xff0c;遍历一遍要排序的数组&#xff0c;把i下标前的元素全部进行排序&#xff0…...

深度学习基础算法

算法 1.K近邻算法 机器学习--K-近邻算法(KNN)_k近邻-CSDN博客 2. 数据库样本: CIFAR-10 CIFAR-10数据集&#xff08;介绍、下载读取、可视化显示、另存为图片&#xff09;_cifar10数据集-CSDN博客...

LuatOS-SOC接口文档(air780E)-- ir - 红外遥控

ir.sendNEC(pin, addr, cmd, repeat, disablePWM)# 发送NEC数据 参数 传入值类型 解释 int 使用的GPIO引脚编号 int 用户码&#xff08;大于0xff则采用Extended NEC模式&#xff09; int 数据码 int 可选&#xff0c;引导码发送次数&#xff08;110ms一次&#xff0…...

Java虚拟机常见面试题总结

梳理Java虚拟机相关的面试题&#xff0c;主要参考《深入理解Java虚拟机 JVM高级特性与最佳实践》(第2版, 周志明 著)一书&#xff0c;其余部分整合网络相关内容。注意&#xff0c;关于Java并发编程的面试题因为内容较多&#xff0c;单独整理。Java基础相关的面试题可以参考Java…...

NVIDIA NCCL 源码学习(十一)- ring allreduce

之前的章节里我们看到了nccl send/recv通信的过程&#xff0c;本节我们以ring allreduce为例看下集合通信的过程。整体执行流程和send/recv很像&#xff0c;所以对于相似的流程只做简单介绍&#xff0c;主要介绍ring allreduce自己特有内容。 单机 搜索ring 在nccl初始化的过…...

前端--性能优化【上篇】--网络优化与页面渲染优化

一、网络优化 1、DNS预解析 link标签的rel属性设置dns-prefetch&#xff0c;提前获取域名对应的IP地址 2、CDN&#xff08;网络分发系统&#xff09; 用户与服务器的物理距离对响应时间也有影响。 内容分发网络&#xff08;CDN&#xff09;是一组分散在不同地理位置的 web…...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python&#xff5c;GIF 解析与构建&#xff08;5&#xff09;&#xff1a;手搓截屏和帧率控制 一、引言 二、技术实现&#xff1a;手搓截屏模块 2.1 核心原理 2.2 代码解析&#xff1a;ScreenshotData类 2.2.1 截图函数&#xff1a;capture_screen 三、技术实现&…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中&#xff0c;时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志&#xff0c;到供应链系统的物流节点时间戳&#xff0c;时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库&#xff0c;其日期时间类型的…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路&#xff1a; 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑&#xff1a;async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

GitHub 趋势日报 (2025年06月06日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...