You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
146 lines
3.9 KiB
146 lines
3.9 KiB
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;//点击列表外,查到不到行 |
|
} |
|
} |
|
} |
|
}
|
|
|