protected override void OnActiveExecute(Markup.Programming.Core.Engine engine) { var canvas = FindParent <Canvas>(AssociatedObject); var state = StateMap.Values.Where(value => value.Canvas == canvas).FirstOrDefault(); if (state == null) { state = new MoveObjectState { Canvas = canvas }; } StateMap[AssociatedObject] = state; if (IsMoveObject) { state.SetParent(this); MoveObject.Visibility = Visibility.Collapsed; } MoveObject.PreviewMouseLeftButtonDown += (sender, e) => StateMap[sender].element_MouseDown(sender, e); MoveObject.PreviewMouseMove += (sender, e) => StateMap[sender].element_MouseMove(sender, e); MoveObject.PreviewMouseLeftButtonUp += (sender, e) => StateMap[sender].element_MouseUp(sender, e); }
protected override void OnActiveExecute(Markup.Programming.Core.Engine engine) { if (AssociatedObject is ButtonBase) { (AssociatedObject as ButtonBase).Click += new RoutedEventHandler(PromptAndExecuteCommand); } else { (AssociatedObject as UIElement).MouseLeftButtonDown += new MouseButtonEventHandler(PromptAndExecuteCommand); } }