public static Border CreateBlockBox(FrameworkElement child, double width, double height, double x, double y, Color backgroundColor) { var border = new Border() { BorderThickness = new Thickness(1, 1, 1, 1), BorderBrush = Brushes.Silver, Background = new SolidColorBrush(backgroundColor), Width = width, Height = height, Margin = new Thickness(x, y, 0, 0), Child = child }; border.MouseEnter += (s, e) => { border.Width = Math.Max(width, child.ActualWidth); border.Height = Math.Max(height, child.ActualHeight); Panel parent = (Panel)border.Parent; border.TopMost(); }; border.MouseLeave += (s, e) => { border.Width = width; border.Height = height; }; return border; }