public void OnEvent(object element, object dataset) { if (!(element is IFeatureLayer)) { MessageBox.Show("Item is not a featurelayer"); return; } if (((IFeatureLayer)element).FeatureClass == null) { MessageBox.Show("Item has not a valid featureclass!"); return; } List <ExplorerDialogFilter> filters = new List <ExplorerDialogFilter>(); filters.Add(new OpenRendererFilter(((IFeatureLayer)element).FeatureClass.GeometryType)); ExplorerDialog dlg = new ExplorerDialog("Open Featurelayer...", filters, true); dlg.MulitSelection = false; if (dlg.ShowDialog() == DialogResult.OK) { IExplorerObject exObject = dlg.ExplorerObjects[0]; if (!(exObject.Object is ITOCElement)) { return; } IFeatureLayer source = ((ITOCElement)exObject.Object).Layers[0] as IFeatureLayer; if (source == null) { return; } IFeatureLayer dest = (IFeatureLayer)element; Dialogs.FormImportRenderers dlg2 = new Dialogs.FormImportRenderers(); if (dlg2.ShowDialog() == DialogResult.OK) { if (dlg2.FeatureRenderer) { dest.FeatureRenderer = source.FeatureRenderer; } if (dlg2.LabelRenderer) { dest.LabelRenderer = source.LabelRenderer; } if (dlg2.SelectionRenderer) { dest.SelectionRenderer = source.SelectionRenderer; } } } }
async public Task <bool> OnEvent(object element, object dataset) { if (!(element is IFeatureLayer)) { MessageBox.Show("Item is not a featurelayer"); return(true); } if (((IFeatureLayer)element).FeatureClass == null) { MessageBox.Show("Item has not a valid featureclass!"); return(true); } List <ExplorerDialogFilter> filters = new List <ExplorerDialogFilter>(); filters.Add(new OpenRendererFilter(((IFeatureLayer)element).FeatureClass.GeometryType)); ExplorerDialog dlg = new ExplorerDialog("Open Featurelayer...", filters, true); dlg.MulitSelection = false; if (dlg.ShowDialog() == DialogResult.OK) { IExplorerObject exObject = dlg.ExplorerObjects[0]; var instatnce = await exObject?.GetInstanceAsync(); if (!(instatnce is ITOCElement)) { return(true); } IFeatureLayer source = ((ITOCElement)instatnce).Layers[0] as IFeatureLayer; if (source == null) { return(true); } IFeatureLayer dest = (IFeatureLayer)element; Dialogs.FormImportRenderers dlg2 = new Dialogs.FormImportRenderers(); if (dlg2.ShowDialog() == DialogResult.OK) { if (dlg2.FeatureRenderer) { dest.FeatureRenderer = source.FeatureRenderer; } if (dlg2.LabelRenderer) { dest.LabelRenderer = source.LabelRenderer; } if (dlg2.SelectionRenderer) { dest.SelectionRenderer = source.SelectionRenderer; } if (dlg2.RenderScales) { dest.MinimumScale = source.MinimumScale; dest.MaximumScale = source.MaximumScale; if (dlg2.FeatureRenderer) { dest.MaxRefScaleFactor = source.MaxRefScaleFactor; } } if (dlg2.LabelScales) { dest.MinimumLabelScale = source.MinimumLabelScale; dest.MaximumLabelScale = source.MaximumLabelScale; if (dlg2.LabelRenderer) { dest.MaxLabelRefScaleFactor = source.MaxLabelRefScaleFactor; } } if (dlg2.FilterQuery) { dest.FilterQuery = source.FilterQuery; } } } return(true); }