コード例 #1
0
ファイル: EditCanvas.cs プロジェクト: LongJohnCoder/pebakery
        public void DrawSelectedBorder(FrameworkElement element)
        {
            if (element == null)
            {
                return;
            }

            _selectedElement = element;
            if (_selectedElement.Tag is UIControl uiCtrl)
            {
                _selectedBorder = new Border
                {
                    Opacity         = 0.75,
                    BorderBrush     = BorderBrush,
                    BorderThickness = new Thickness(2),
                    Focusable       = false,
                };

                // Set Z Index to top
                if (uiCtrl.Type != UIControlType.Bevel)
                {
                    SetZIndex(_selectedElement, MaxZIndex + 1);
                    SetZIndex(_selectedBorder, MaxZIndex + 1);
                }

                Rect rect = new Rect
                {
                    X      = GetLeft(_selectedElement),
                    Y      = GetTop(_selectedElement),
                    Width  = _selectedElement.Width,
                    Height = _selectedElement.Height,
                };
                UIRenderer.DrawToCanvas(this, _selectedBorder, rect);

                UIControlSelected?.Invoke(this, new UIControlSelectedEventArgs(_selectedElement, uiCtrl));
            }
        }