WPF下创建AxMapControl,异常InvalidActiveXStateException
2016-10-12 16:38
204 查看
–
Windows 7 旗舰版
ArcGIS 10.1
Visual Studio 2010
Windows 7 旗舰版
ArcGIS 10.1
Visual Studio 2010
问题描述
在WPF中动态创建AxMapControl,有时候程序启动的时候会出现InvalidAactiveXStateException的异常,只是偶尔出现这个异常~问题分析
通过在程序中进行断点调试,发现在调用控件的属性的时候会出现这个问题,即AxMapControl.Map会出现这个异常,我的分析是由于控件没有真正的初始化完全,所以调用属性就出现了问题;解决方案
使用 WindowsFormsHost 元素可将 Windows Forms控件放置到 WPF 元素或页面中;由于控件是动态添加的,所以代码如下:AxMapControl mapControl=new AxMapControl(); ((System.ComponentModel.ISupportInitialize)(this.mapControl)).BeginInit(); mapHost.Child=mapControl; ((System.ComponentModel.ISupportInitialize)(this.mapControl)).EndInit();
相关文章推荐
- WPF 添加ACTIVEX 控件 ——System.Windows.Forms.AxHost+InvalidActiveXStateException异常
- WPF中使用Free解决访问非UI线程创建的对象抛出的Thread异常
- WPF在代码中创建DataTemplate时候的异常
- 在WPF中创建可换肤的用户界面
- Effective C# 原则44:创建应用程序特定的异常类(译)
- SWT异常: org.eclipse.swt.SWTException: Invalid thread access
- 用WPF创建3D Content
- WPF/E CTP Quick Start - 第一部分:创建一个WPF/E项目(翻译)
- 异常详细信息: System.InvalidOperationException: 超时时间已到。在从池中获取连接之前超时时间已过
- 为WPF项目创建单元测试
- 关于SqlRowSet的Invalid scale size. Cannot be less than zero异常
- 解决多线程操作控件时可能出现的异常:“在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级”
- WPF中创建水晶动画效果的treeview控件
- WPF中创建水晶动画效果的treeview控件
- 异常详细信息: System.InvalidOperationException: ExecuteReader 要求已打开且可用的连接。连接的当前状态为已关闭。
- 决多线程操作控件时可能出现的异常:“在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级”
- WPF/E CTP Quick Start - 第一部分:创建一个WPF/E项目(翻译)
- 异常:Invalid call Statement method: {0}
- 在WPF中创建可换肤的用户界面
- WPF中创建水晶动画效果的treeview控件