using ESRI.ArcGIS.Carto; using KGIS.Framework.Maps; using KGIS.Framework.Utils; using KGIS.Framework.Utils.Helper; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace Kingo.Plugin.EngineEditor.Views { /// /// FrmSetTargetLayer.xaml 的交互逻辑 /// public partial class FrmSetTargetLayer : BaseWindow { public List MapLayerList { get; set; } = new List(); public event EventHandler OKComplate; public FrmSetTargetLayer() { InitializeComponent(); wndLayerListImageComboBox.Items.Clear(); GetLayers(); } private void wndLayerListImageComboBox_MouseMove(object sender, System.Windows.Input.MouseEventArgs e) { //GetLayers(); MapLayerList = MapsManager.Instance.MapService.GetAllLayerInMap(); MapLayerList = MapLayerList.FindAll(a => (a as IFeatureLayer) != null); wndLayerListImageComboBox.ItemsSource = MapLayerList.Select(n => n.Name); } private void GetLayers() { try { MapLayerList = MapsManager.Instance.MapService.GetAllLayerInMap(); MapLayerList = MapLayerList.FindAll(a => (a as IFeatureLayer) != null); wndLayerListImageComboBox.ItemsSource = MapLayerList.Select(n => n.Name); if (MapLayerList.Count > 0) wndLayerListImageComboBox.SelectedIndex = 0; } catch (Exception ex) { LogAPI.Debug("卷帘工具图层列表获取失败!" + ex); return; } } private void rollerShutterBtn_Click(object sender, RoutedEventArgs e) { try { if (MapLayerList == null || MapLayerList.Count == 0) { MessageHelper.ShowWarning("请先添加图层数据!"); return; } int index = wndLayerListImageComboBox.SelectedIndex; if (index < 0) { MessageHelper.ShowWarning("请选择目标图层!"); return; } ILayer layer = MapLayerList[index]; OKComplate?.Invoke(layer, null); } catch (Exception ex) { LogAPI.Debug("卷帘工具设置失败!" + ex); return; } } } }