コード例 #1
0
        public static Rect GetRect(BaseElementViewModel viewModel, double margin = 0)
        {
            Point point = new Point(viewModel.Left, viewModel.Top);
            Size  size  = new Size(viewModel.Width, viewModel.Height);
            var   rect  = new Rect(point, size);

            rect.Inflate(margin, margin);
            return(rect);
        }
コード例 #2
0
        protected override void DoDrag(double x, double y)
        {
            BaseElementViewModel viewModel = (BaseElementViewModel)DataContext;

            if (viewModel.IsSelected)
            {
                viewModel.Left = x - DragStartPoint.X;
                viewModel.Top  = y - DragStartPoint.Y;
            }
        }
コード例 #3
0
        public override void Revert()
        {
            Type         viewModelType = BaseElementViewModel.GetType();
            PropertyInfo property      = viewModelType.GetProperty(_propertyName);

            if (property != null)
            {
                property.SetValue(BaseElementViewModel, _oldValue);
            }
        }
コード例 #4
0
 private void TextAreaOnPreviewMouseDown(object sender, MouseButtonEventArgs e)
 {
     if (e.ChangedButton == MouseButton.Left)
     {
         if (e.ClickCount == 1)
         {
             BaseElementViewModel viewModel = (BaseElementViewModel)DataContext;
             viewModel.IsSelected = true;
         }
     }
 }
コード例 #5
0
        private void BaseElementView_OnPreviewMouseDown(object sender, MouseButtonEventArgs e)
        {
            BaseElementViewModel viewModel = (BaseElementViewModel)DataContext;

            if (Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl))
            {
                viewModel.IsSelected = !viewModel.IsSelected;
            }
            else
            {
                viewModel.Select();
            }
        }
コード例 #6
0
        protected override void StopDrag()
        {
            BaseElementViewModel viewModel = (BaseElementViewModel)DataContext;

            viewModel.StopMove();
        }
コード例 #7
0
        private void ResizeThumb_DragStarted(object sender, DragStartedEventArgs e)
        {
            BaseElementViewModel viewModel = DataContext as BaseElementViewModel;

            viewModel?.ResizeStart();
        }
コード例 #8
0
 public ElementResizeAction(BaseElementViewModel baseElementViewModel, Rect from, Rect to) : base(baseElementViewModel)
 {
     Name  = $"{BaseElementViewModel} resized";
     _from = from;
     _to   = to;
 }
コード例 #9
0
 public PropertyChangedAction(BaseElementViewModel viewModel, object oldValue, object newValue, string propertyName) : base(viewModel)
 {
     _oldValue     = oldValue;
     _newValue     = newValue;
     _propertyName = propertyName;
 }
コード例 #10
0
 public SelectionChangedEventArgs(BaseElementViewModel selectedItem)
 {
     SelectedItem = selectedItem;
 }
コード例 #11
0
 protected BaseElementAction(BaseElementViewModel baseElementViewModel)
 {
     BaseElementViewModel = baseElementViewModel;
 }
コード例 #12
0
 public ElementMoveAction(BaseElementViewModel baseElementViewModel, Point from, Point to) : base(baseElementViewModel)
 {
     Name  = $"Moved {BaseElementViewModel}";
     _from = from;
     _to   = to;
 }