关于WPF中承载 ArcGIS控件。

简介: 原文 http://www.cnblogs.com/zoe-j/archive/2011/05/18/2050208.html 之前就做过WPF的应用,之前承载的MapGIS的二次开发控件,今天写一下承载的Arcgis的相关控件, 首先,Arcgis的控件不支持WPF,我得环境是vs2010,Engine10,Arcgis的控件支持的还是以前的.net 3.5的winform。

原文 http://www.cnblogs.com/zoe-j/archive/2011/05/18/2050208.html

之前就做过WPF的应用,之前承载的MapGIS的二次开发控件,今天写一下承载的Arcgis的相关控件,

首先,Arcgis的控件不支持WPF,我得环境是vs2010,Engine10,Arcgis的控件支持的还是以前的.net 3.5的winform。但是接触过WPF的都觉得WPF的视觉效果,和用户体验都会比较好,这个时候就需要用承载,WPF的控件中有一个是 windowsformshost的控件,这个可以称为是宿主控件吧,然后它里面可以承载一个winform的子控件。

添加引用

  • ESRI.ArcGIS.AxControls—Contains the AxMapControl.
  • ESRI.ArcGIS.System—Contains the AoInitialiseClass class (used to set up the ArcGIS Engine license).
  • ESRI.ArcGIS.Version—Contains runtime manager functionality to bind a specific ArcGIS installation on the machine.

原理就是这样,接下来讲一下首先呢是建项目,然后选择的时候直接选择.net3.5下面的WPF应用,然后是要添加引用,一个是Arcgis 的 axcontrol一个是 control然后,添加这个引用WindowsFormsIntegration,这个是用来承载控件的引用,然后再xmal下面写好空间里面的这样一 句 xmlns:in="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration" Loaded="Window_Loaded",然后就可以直接在wpf下面戴上几个WindowsFormsHost这样的控件,定义好名字和大小位 置,然后在c#代码中,windows的load事件中定义几个arcgis的控件,然后再用这样的格式的代码来实现承载

wfhlin.Child = mylincense;

前面的wfhlin是我定义的windowsformshost的名字,后面的mylincense是我定义的一个 axlincense控件

在app.xmal.cs中写好关于权限许可的代码如下

复制代码
1 protected override void OnStartup(StartupEventArgs e)
2 {
3 base .OnStartup(e);

4 InitializeEngineLicense();
5 }
6
7 private void InitializeEngineLicense()
8 {
9 AoInitialize aoi = new AoInitializeClass();
10
11 // More license choices can be included here.
12 esriLicenseProductCode productCode = esriLicenseProductCode.esriLicenseProductCodeEngine;
13 if (aoi.IsProductCodeAvailable(productCode) == esriLicenseStatus.esriLicenseAvailable)
14 {
15 aoi.Initialize(productCode);
16 }
17 }
复制代码

在调用这个方法的时候

ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Engine);
目录
相关文章
|
4月前
|
开发框架 缓存 前端开发
循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(11) -- 下拉列表的数据绑定以及自定义系统字典列表控件
循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(11) -- 下拉列表的数据绑定以及自定义系统字典列表控件
|
4月前
|
C# 开发者 Windows
一款基于Fluent设计风格、现代化的WPF UI控件库
一款基于Fluent设计风格、现代化的WPF UI控件库
108 1
|
4月前
|
C# Windows
WPF中如何使用HandyCotrol控件库
WPF中如何使用HandyCotrol控件库
203 1
|
4月前
|
C# 前端开发 UED
WPF数据验证实战:内置控件与自定义规则,带你玩转前端数据验证,让你的应用程序更上一层楼!
【8月更文挑战第31天】在WPF应用开发中,数据验证是确保输入正确性的关键环节。前端验证能及时发现错误,提升用户体验和程序可靠性。本文对比了几种常用的WPF数据验证方法,并通过示例展示了如何使用内置验证控件(如`TextBox`)及自定义验证规则实现有效验证。内置控件结合`Validation`类可快速实现简单验证;自定义规则则提供了更灵活的复杂逻辑支持。希望本文能帮助开发者更好地进行WPF数据验证。
145 0
|
4月前
|
C# UED 定位技术
WPF控件大全:初学者必读,掌握控件使用技巧,让你的应用程序更上一层楼!
【8月更文挑战第31天】在WPF应用程序开发中,控件是实现用户界面交互的关键元素。WPF提供了丰富的控件库,包括基础控件(如`Button`、`TextBox`)、布局控件(如`StackPanel`、`Grid`)、数据绑定控件(如`ListBox`、`DataGrid`)等。本文将介绍这些控件的基本分类及使用技巧,并通过示例代码展示如何在项目中应用。合理选择控件并利用布局控件和数据绑定功能,可以提升用户体验和程序性能。
81 0
|
4月前
|
开发框架 前端开发 JavaScript
WPF应用开发之控件动态内容展示
WPF应用开发之控件动态内容展示
|
4月前
|
开发框架 前端开发 JavaScript
循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(3)--自定义用户控件
循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(3)--自定义用户控件
|
4月前
|
前端开发 C#
wpfui:一个开源免费具有现代化设计趋势的WPF控件库
wpfui:一个开源免费具有现代化设计趋势的WPF控件库
160 0
|
4月前
|
开发框架 前端开发 C#
使用WPF开发自定义用户控件,以及实现相关自定义事件的处理
使用WPF开发自定义用户控件,以及实现相关自定义事件的处理
|
4月前
|
开发框架 前端开发 JavaScript
在WPF应用中使用GongSolutions.WPF.DragDrop实现列表集合控件的拖动处理
在WPF应用中使用GongSolutions.WPF.DragDrop实现列表集合控件的拖动处理