|
|
|
|
using ESRI.ArcGIS.Carto;
|
|
|
|
|
using ESRI.ArcGIS.Controls;
|
|
|
|
|
using KGIS.Framework.AE.ExtensionMethod;
|
|
|
|
|
using KGIS.Framework.Maps;
|
|
|
|
|
using KGIS.Framework.Platform;
|
|
|
|
|
using KGIS.Framework.Views;
|
|
|
|
|
using Kingo.Plugin.MapView.Interface;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Windows.Controls;
|
|
|
|
|
|
|
|
|
|
namespace Kingo.Plugin.MapView.Views
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// UserControl1.xaml 的交互逻辑
|
|
|
|
|
/// </summary>
|
|
|
|
|
public partial class FrmDataCheck : UserControl, IDockPanel3
|
|
|
|
|
{
|
|
|
|
|
private IHookHelper m_hookHelper;
|
|
|
|
|
IMapService _mapService = null;
|
|
|
|
|
IFeatureLayer featureLayer = null;
|
|
|
|
|
public FrmDataCheck()
|
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
this.DockAreas = DockStyle.DockRight | DockStyle.Float;
|
|
|
|
|
this.FloatSize = new System.Drawing.Size(400, 500);
|
|
|
|
|
this.DefaultArea = DockStyle.Float;
|
|
|
|
|
this.DockHeight = 125;
|
|
|
|
|
this.ShowCloseButton = true;
|
|
|
|
|
this.ShowAutoHideButton = true;
|
|
|
|
|
this.IsDockToPanel = true;
|
|
|
|
|
this.DockToPanelStyle = DockStyle.DockBottom;
|
|
|
|
|
this.Title = "错误信息";
|
|
|
|
|
}
|
|
|
|
|
#region IDockPanel接口
|
|
|
|
|
public Guid ID
|
|
|
|
|
{
|
|
|
|
|
get;
|
|
|
|
|
set;
|
|
|
|
|
}
|
|
|
|
|
public DockStyle _DockAreas;
|
|
|
|
|
|
|
|
|
|
public event EventHandler CloseViewHandler;
|
|
|
|
|
|
|
|
|
|
public DockStyle DockAreas
|
|
|
|
|
{
|
|
|
|
|
get;
|
|
|
|
|
set;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public System.Drawing.Size FloatSize
|
|
|
|
|
{
|
|
|
|
|
get;
|
|
|
|
|
set;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public int DockWidth
|
|
|
|
|
{
|
|
|
|
|
get;
|
|
|
|
|
set;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public int DockHeight
|
|
|
|
|
{
|
|
|
|
|
get;
|
|
|
|
|
set;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public DockStyle DefaultArea
|
|
|
|
|
{
|
|
|
|
|
get;
|
|
|
|
|
set;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public bool ShowCloseButton
|
|
|
|
|
{
|
|
|
|
|
get;
|
|
|
|
|
set;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public bool ShowAutoHideButton
|
|
|
|
|
{
|
|
|
|
|
get;
|
|
|
|
|
set;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public string Title
|
|
|
|
|
{
|
|
|
|
|
get;
|
|
|
|
|
set;
|
|
|
|
|
}
|
|
|
|
|
public bool IsShowInMap { get; set; }
|
|
|
|
|
public bool IsDockToPanel { get; set; }
|
|
|
|
|
public DockStyle DockToPanelStyle { get; set; }
|
|
|
|
|
|
|
|
|
|
public void ShowPanel()
|
|
|
|
|
{
|
|
|
|
|
Platform.Instance.OpenView(this, false);
|
|
|
|
|
if (MapsManager.Instance.MapService != null)
|
|
|
|
|
{
|
|
|
|
|
MapsManager.Instance.MapService.ProjectClosed += Platform_CloseProjectEvent;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void Platform_CloseProjectEvent(object sender, object e)
|
|
|
|
|
{
|
|
|
|
|
MapsManager.Instance.MapService.ProjectClosed -= Platform_CloseProjectEvent;
|
|
|
|
|
this.ClosePanel();
|
|
|
|
|
}
|
|
|
|
|
public void ClosePanel()
|
|
|
|
|
{
|
|
|
|
|
this.ClosePanel();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void ClosePanelInvoke()
|
|
|
|
|
{
|
|
|
|
|
CloseViewHandler?.Invoke(this, null);
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
public void BindDada(List<CheckResultModel> ListCheckResultModel, IHookHelper hook)
|
|
|
|
|
{
|
|
|
|
|
m_hookHelper = hook;
|
|
|
|
|
_mapService = MapsManager.Instance.MapService;
|
|
|
|
|
object pLayer = m_hookHelper.GetCustomProperty();//获取对象的创建者的Application对象
|
|
|
|
|
IFeatureLayer pTocFeatureLayer = pLayer as IFeatureLayer;
|
|
|
|
|
featureLayer = pTocFeatureLayer;
|
|
|
|
|
MyPropertyGrid.ItemsSource = ListCheckResultModel;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void DataGridRow_MouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
m_hookHelper.FocusMap.ClearSelection();//清除图层上要素选择
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
if (_mapService != null)
|
|
|
|
|
{
|
|
|
|
|
_mapService.SelectFeature(featureLayer.Name, ((sender as DataGridRow).DataContext as CheckResultModel).OBJECTID);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception)
|
|
|
|
|
{
|
|
|
|
|
return;//点击列表外,查到不到行
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|