private void invalidateSelection(UIObjectVM obj) { documentView.Children.Remove(_selRect); if (obj == null) { return; } _selRect = new Rectangle { Name = "_selRect", Stroke = new SolidColorBrush(Colors.Black), StrokeThickness = 1, StrokeDashArray = new DoubleCollection { 10, 5 }, Width = obj.Width + ((obj as PageVM == null) ? 6 : -6), Height = obj.Height + ((obj as PageVM == null) ? 6 : -6), VerticalAlignment = obj.VerticalAlignment, HorizontalAlignment = obj.HorizontalAlignment, Margin = (obj.MarginToDocument + new MarginVM { Left = ((obj as PageVM == null) ? -3 : 3), Top = ((obj as PageVM == null) ? -3 : 3), }).ToThickness(), IsHitTestVisible = false }; documentView.Children.Add(_selRect); Canvas.SetZIndex(_selRect, 99999); }
private void EditArea_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { if (_mouseLeftDown) { return; } _mouseLeftDown = true; _lastPos = e.GetPosition(documentView); if (_mouseLeftDown) { switch (_myVM.SelectedDrawTool) { case ToolBoxMenuVM.ToolEnum.Hand: //PAN _horizonalOffset = scrollViewer.HorizontalOffset; _verticalOffset = scrollViewer.VerticalOffset; break; case ToolBoxMenuVM.ToolEnum.WhiteArrow: //SELECTION case ToolBoxMenuVM.ToolEnum.BlackArrow: if (_myVM.Document.SelectedChild != null) { UIObjectVM myObj = (_myVM.Document.SelectedChild as PageVM) .EveryChildren.LastOrDefault(c => c.AbsoluteBounds.Contains(_lastPos)); if (myObj != null) { myObj.SelectCommand(); _objLeft = myObj.Margin.Left; _objTop = myObj.Margin.Top; } else { (_myVM.Document.SelectedChild as PageVM).SelectCommand(); } } break; case ToolBoxMenuVM.ToolEnum.Text: //OBJECT CREATION case ToolBoxMenuVM.ToolEnum.Image: case ToolBoxMenuVM.ToolEnum.Video: case ToolBoxMenuVM.ToolEnum.Container: _addRect = new Rectangle() { Margin = new Thickness(_lastPos.X, _lastPos.Y, 0, 0), Width = 0, Height = 0, Fill = new SolidColorBrush(Color.FromArgb(10, 44, 44, 44)), Stroke = new SolidColorBrush(Colors.Blue), StrokeThickness = 1, }; documentView.Children.Add(_addRect); _addRect.VerticalAlignment = System.Windows.VerticalAlignment.Top; _addRect.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; break; default: break; } } }
private void OnObjectSelected(UIObjectVM sender, UIObjectVM selected) { if (_selectByUser) { _selectByUser = false; return; } //new Action(() => //{ _selectByCode = true; mainList.ExpandAll(); mainList.SelectItem(selected); //}).StartAfter(TimeSpan.FromMilliseconds(50)); }
private void _myVM_AnObjectSelected(UIObjectVM sender, UIObjectVM selected) { invalidateSelection(selected); }
private void _myVM_AnObjectPropertyChanged(ContainerVM container, UIObjectVM obj, string propertyName) { invalidateDocumentView(container); }