We are considering making EditVertices public like Draw so you can customize the symbols in the future.
I think it would be very useful if some kind of event was fired when a graphic entered into edit mode, so us developers could do something with it if we needed to.
void Layers_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { if (e.NewItems != null && e.NewItems[0] is GraphicsLayer) { GraphicsLayer editLyr = e.NewItems[0] as GraphicsLayer; if (editLyr.ID == null) { editLyr.MouseEnter += new GraphicsLayer.MouseEventHandler(editLyr_MouseEnter); editLyr.MouseLeftButtonDown += new GraphicsLayer.MouseButtonEventHandler(editLyr_MouseLeftButtonDown); editLyr.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(editLyr_PropertyChanged); } } } void editLyr_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { MessageBox.Show(e.PropertyName); } void editLyr_MouseEnter(object sender, GraphicMouseEventArgs e) { MessageBox.Show("MouseEnter"); } void editLyr_MouseLeftButtonDown(object sender, GraphicMouseButtonEventArgs e) { MessageBox.Show("MouseLeftButtonDown"); }
private void EditVertices_Click(object sender, System.Windows.RoutedEventArgs e) { GraphicsLayer layer = this.MyMap.Layers["MyGraphicsLayer"] as GraphicsLayer; layer.MouseLeftButtonDown += layer_MouseLeftButtonDown; } private void layer_MouseLeftButtonDown(object sender, GraphicMouseButtonEventArgs e) { GraphicsLayer layer = sender as GraphicsLayer; layer.MouseLeftButtonDown -= layer_MouseLeftButtonDown; //TODO: Change map cursor EditVertices is active. }
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registriere ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.