示例#1
0
        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);
        }
示例#2
0
        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;
                }
            }
        }
示例#3
0
        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));
        }
示例#4
0
 private void _myVM_AnObjectSelected(UIObjectVM sender, UIObjectVM selected)
 {
     invalidateSelection(selected);
 }
示例#5
0
 private void _myVM_AnObjectPropertyChanged(ContainerVM container, UIObjectVM obj, string propertyName)
 {
     invalidateDocumentView(container);
 }