wpf异常:某个ItemsControl与它的项源不一致

把一个 dic绑定到了listview上,有时候下拉列表会报这个异常。因为直接使用了itemssource = dic,而dic在另一个线程上不定期更新,这样如果直接绑定的话就会报这个错误,原因是直接绑定的话会把itemssource的内存地址直接指向dic的内存地址,当dic更新后,会导致内存地址变动,使程序无法正常读取内存中的数据而报错。最简单的解决方法是new一个dictionary ,把dic传过去,然后再赋值给itemssource,这样new出来的dic就会有另一块专用的内存空间,无论原dic如何变动都不会影响新的dic。至于内存开销大了一倍,不在考虑范围。

时间: 2024-10-28 20:28:16

wpf异常:某个ItemsControl与它的项源不一致的相关文章

多线程下异常:某个ItemsControl与它的项源不一致

这两天写一个WPF的客户端,为DataGrid绑定一个ObservableCollection的数据源,但是就这么简单一个玩意,写完后执行却发生bug,bug页面如下: 通过Google,找到问题和解决方案.问题就是多线程的环境下,对数据源集合的更新操作会和UI线程的显示产生冲突.如何解决?看下面 void UpdateItems() { //retrievedItems is the data you received from the service foreach(object item

WPF学习系列之二 (依赖项属性)

依赖属性;(dependency property)  它是专门针对WPF创建的,但是WPF库中的依赖项属性都使用普通的.NET属性过程进行了包装.从而可能通过常规的方式使用它们,即使使用他们的代码不理解WPF依赖项属性系统也是如此,使用旧技术包装新技术看起来有些奇怪,但这正是WPF能够改变基础组成部分,而不会扰乱.NET领域中其他部分的原因.三步:一:定义依赖项属性.public static readonly DependencyProperty MarginProperty;二:.在静态构

WPF异常捕获三种处理 UI线程, 全局异常,Task异常

原文:WPF异常捕获三种处理 UI线程, 全局异常,Task异常 protected override void OnStartup(StartupEventArgs e){base.OnStartup(e);RegisterEvents();} private void RegisterEvents(){//TaskScheduler.UnobservedTaskException += (sender, args) =>//{// MessageBox.Show(args.Exception

服务器异常断电,导致oracle控制文件版本不一致,报错ora-00214解决记录

控制文件介绍: 每一个oracle都至少会生成一个控制文件,一个数据库可以拥有多个控制文件,但是一个控制文件只能属于一个数据库. 控制文件内部除了存放数据库名及其创建日期,数据文件,日志文件等相关信息,在系统运行的过程中还会存放系统更改号,检查点信息及归档的当前状态等信息. 出于安全考虑,数据库会自动创建2到3个控制文件,每个控制文件记录相同的信息,这个可以确保在数据库运行时,某个控制文件损坏,oracle会自动使用另一个控制文件,当所有控制文件损坏时,数据库将无法工作. 注:通过 v$cont

【WPF异常】在使用 ItemsSource 之前,项集合必须为空

1 <DataGrid x:Name="dataGrid" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Width="620" Height="269" AutoGenerateColumns="False" GridLinesVisibility="Non

WPF ItemsControl 取消选中item项,滚动条自动跑到该item顶部的问题

项目中ItemsControl 自定义了DataTemplate,代码如下: <ScrollViewer x:Name="PaperScrollCiewer" Margin="1" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" Background="#ccc" ScrollChanged="P

ComboBox在WPF中的绑定示例:绑定项、集合、转换,及其源代码

在WPF的Xaml中为ComboBox绑定数据时,由于参数很多,很容易混淆,在ListView中使用更是如此.本文通过对ComboBox在窗口和在ListView中绑定对象的属性和属性可能是枚举类型的情况进行简单讲解和示例,以作实际应用参照. 源码可以到这里下载:ComboBoxBindings.rar 1.ComboBox在窗口容器中的情况 2.ComboBox在ListView中的情况 3.绑定枚举 示例中做枚举类型Sex的绑定时,先在Xaml中绑定值,然后在ComboBox的ItemsSo

数据库异常sysservers中找不到服务器 源码下载

本文引用于:征途源码论坛(www.zhengtuwl.com)-----专注各类免费精品源码下载的平台 数据库异常:[DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或拒绝访问. 网狐架设很多人第一架设肯定要遇到这个问题,网上找教程,也没有提到这个的,这里我来写解决方法,免得再有人问我了!本站是不提供技术服务的,在QQ上问我问题我是直接忽略的,有问题发布到论坛,只要是我知道的我就一定帮助解决,不要再QQ上问我了!开始->所有程序->Mic

【源码分享】WPF漂亮界面框架实现原理分析及源码分享

1 源码下载 2 OSGi.NET插件应用架构概述 3 漂亮界面框架原理概述 4 漂亮界面框架实现  4.1 主程序  4.2 主程序与插件的通讯   4.2.1 主程序获取插件注册的服务   4.2.2 插件获取主程序注册的服务   4.2.3 服务接口  4.3 权限管理插件的登录窗体  4.4 界面框架插件   4.4.1 导航服务   4.4.2 界面框架扩展实现  4.5 插件   4.5.1 插件引用了第三方程序集   4.5.2 一个程序集如何让所有插件都直接使用   4.5.3