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)); } }