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. }
Přihlášení členové mohou přispívat, sledovat aktualizace a další. Jste tu noví? Zaregistrujte si bezplatný účet.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.