private static void StatePropertyChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs args) { DDObject sender = (DDObject)d; DDManipulationState oldValue = (DDManipulationState)args.OldValue; sender.OnManipulationStateChanged(oldValue); }
protected override void OnManipulationStateChanged(DDManipulationState oldState) { base.OnManipulationStateChanged(oldState); foreach (DDNode node in Nodes) { if (node is DDNodeWithHandles) { switch (ManipulationState) { case DDManipulationState.Normal: (node as DDNodeWithHandles).ShowPointHandle = false; (node as DDNodeWithHandles).ShowControlHandles = false; break; case DDManipulationState.Edited: (node as DDNodeWithHandles).ShowPointHandle = true; (node as DDNodeWithHandles).ShowControlHandles = true; break; } } } }
protected virtual void OnManipulationStateChanged(DDManipulationState oldState) { OnPropertyChanged("State"); }