bool OnCommand(SimpleNameProperty sender, string MenuId) { switch (MenuId) { case "MenuId.GeoObjectList.Remove": list.Remove(sender.AssociatedObject as IGeoObject); return(true); case "MenuId.GeoObjectList.Show": if (Frame.ActiveView is AnimatedView) { AnimatedView av = Frame.ActiveView as AnimatedView; av.SetSelectedObject(sender.AssociatedObject as IGeoObject); } return(true); } return(false); }
void OnFocusChanged(IPropertyTreeView sender, IShowProperty NewFocus, IShowProperty OldFocus) { if (sender.FocusLeft(this, OldFocus, NewFocus)) { } else if (sender.FocusEntered(this, OldFocus, NewFocus)) { if (NewFocus == this) { if (Frame.ActiveView is AnimatedView) { AnimatedView av = Frame.ActiveView as AnimatedView; av.SetSelectedObjects(new GeoObjectList(list.ToArray())); } } else if (NewFocus is SimpleNameProperty) { if (Frame.ActiveView is AnimatedView) { AnimatedView av = Frame.ActiveView as AnimatedView; av.SetSelectedObject((NewFocus as SimpleNameProperty).AssociatedObject as IGeoObject); } } } else { // möglicherweise Änderung innerhalb der Child objects if (propertyTreeView.GetParent(NewFocus) == this) { if (NewFocus is SimpleNameProperty) { if (Frame.ActiveView is AnimatedView) { AnimatedView av = Frame.ActiveView as AnimatedView; av.SetSelectedObject((NewFocus as SimpleNameProperty).AssociatedObject as IGeoObject); } } } } }