原文:解答WPF中ComboBox SelectedItem Binding不上的Bug

正在做一个打印机列表,从中选择一个打印机(System.Printing)

<ComboBox Width="150" ItemsSource="{Binding PrintQueues}" SelectedItem="{Binding Model.CurrentPrintQueue}" DisplayMemberPath="Name"></ComboBox>

var printServer = new LocalPrintServer();PrintQueues = printServer.GetPrintQueues();Model.CurrentPrintQueue = printServer.DefaultPrintQueue;

都觉得这样是没有问题的对不对,可是,实际运行起来 SelectedItem就是绑定不上,找了一大堆网站,都说ComboBox的一个Bug,换SelectedIndex,SelectedValue等方法,我想这不科学,这么优秀的控件,这么简洁的Binding,不可能有Bug的呀。

解决方法:

首先想SelectedItem肯定是来自于ItemsSource中的一个引用,并且他们是同一个对象才行。

但是看代码,我以为printServer.DefaultPrintQueue就是GetPrintQueues()中的一个对象,好嘛,这样写

Model.CurrentPrintQueue = PrintQueues.FirstOrDefault(x => x.Name == printServer.DefaultPrintQueue.Name);

居然绑定上了!

所以以后一定要记住了,SelectedItem必须是ItemsSource中的同一个对象才行,被PrintServer坑了

解答WPF中ComboBox SelectedItem Binding不上的Bug相关推荐

  1. WPF中的Data Binding调试指南

    点击蓝字"大白技术控"关注我哟 加个"星标★",每日良时,好文必达! WPF中的Data Binding如何Debug? 大家平时做WPF开发,相信用Visua ...

  2. 22、wpf之Combobox使用小记

    前言:作为wpf中常用的列表控件之一,Combox既具备了列表控件的下拉功能,又具备了Selector 类的选择功能,算是个复合性控件.现记录下MVVM模式下常用属性. 一.简介 ComboBox是一 ...

  3. WPF中,Combox的SelectedItem属性绑定成功后,未能默认显示上一次选择的结果。

    问题描述: Combox中,设定了绑定对象,但是在第一次进入时却没有显示上次选中的项.      1)查看SelectedItem对应绑定的值,也是有的(启动时,读取上次设置的结果,来初始化界面). ...

  4. WPF MVVMLight Treeview中的SelectedItem

    如何检索WPF树视图中选择的项目?我想在XAML中这样做,因为我想绑定它. 您可能会认为它不存在SelectedItem,但显然不存在,它是只读的,因此无法使用. 这就是我想做的: <TreeV ...

  5. Binding在WPF中的使用

    闲来无事,不想打DOTA,在这里小小研究下wpf中关于Binding的东西. 咯咯 在我们印象中,Binding的意思是"绑定",这个"绑"大概取自于Bind这 ...

  6. WPF中ContextMenu(右键菜单)使用Command在部分控件上默认为灰色的处理方法

    WPF中ContextMenu(右键菜单)使用Command在部分控件上默认为灰色的处理方法 原文:WPF中ContextMenu(右键菜单)使用Command在部分控件上默认为灰色的处理方法 问题描 ...

  7. 关于WPF的ComboBox中Items太多而导致加载过慢的问题

                                         [WFP疑难]关于WPF的ComboBox中Items太多而导致加载过慢的问题                         ...

  8. WPF中Binding使用StringFormat格式化字符串方法

    原文:WPF中Binding使用StringFormat格式化字符串方法 货币格式 <TextBlock Text="{Binding Price, StringFormat={}{0 ...

  9. WPF的ComboBox 数据模板自定义

    WPF的ComboBox 有些时候不能满足用户需求,需要对数据内容和样式进行自定义,下面就简要介绍一下用数据模板(DataTemplate)的方式对ComboBox 内容进行定制: 原型设计如下: 步 ...

最新文章

  1. hibernate开发错误及解决办法
  2. git 你get了吗(git命令日常使用)
  3. 读取接口XML和批量导入数据SqlBulkCopy
  4. Android 用MediaRecorder录制视频太短崩的问题
  5. websocket onclose方法什么时候触发_WebSocket断开重连解决方案,心跳重连实践
  6. 623. 在二叉树中增加一行
  7. java mvc数据库 封装_关于SpringMvc参数封装_JavaEE框架(Maven+SpringMvc+Spring+MyBatis)全程实战教程_Java视频-51CTO学院...
  8. GDAL\OGR读取数据示例 C#版本
  9. 2021-08-25Prompt
  10. DCDC芯片内部模块原理
  11. 数据中心加湿系统计算及方法探讨【新规范加湿方式对比及计算分析】
  12. unbuntu20.0.4 显卡驱动安装,nividia-smi无效
  13. 小白看了也能搭建物联网项目——物联网开发板——QD-mini板
  14. RTP载荷H265(实战细节)
  15. 自媒体资源:分享8个免版权视频素材网站
  16. 概率论的一些基本概念
  17. 数据结构与算法(程序员常用十种算法下:5~10)
  18. 明日开幕|第四届OpenI/O启智开发者大会
  19. P型硅与N型硅的区别
  20. 乐视2手机无信号服务器,解决乐视手机wifi信号差问题的方法

热门文章

  1. 软件顶部的导航栏怎么测试,导航条测试点——你想到多少?
  2. About 7.10 This Week
  3. 电脑cpu风扇转一下就停无法开机_电脑cpu风扇转一下停一下,小编告诉你电脑cpu风扇转一下停一下怎么办...
  4. from scipy.misc import toimage 报错 ImportError: cannot import name 'toimage'
  5. 使用又拍云让网站实现https访问
  6. 基本算法思想(1)利用分治算法处一隅而观全局(C)
  7. 华为2020届应届生招聘公告
  8. Unity学习笔记-Mesh和Sprite
  9. 显式等待中的EC模块详解
  10. 文心一言 VS 讯飞星火 VS chatgpt (39)-- 算法导论5.4 3题