WPF中的透明边框以编程方式
生成在XAML文件中的视口上透明的边框(用于Trackball事件)是微不足道的:
但是我如何在.cs中做到这一点?
Border border = new Border(); **border.Background = (VisualBrush)Colors.Transparent;** grid.Children.Add(viewport); grid.Children.Add(border);
这当然不起作用。
这是因为你不能只将一个颜色转换为画笔。 请改用透明画笔
border.Background = Brushes.Transparent;
使用SolidColorBrush
:
border.Background = new SolidColorBrush(Colors.Transparent);
VisualBrush
有不同的用途。 请参阅此处的WPF画笔主要类型概述:
您还可以使用透明颜色创建SolidColorBrush:这将创建完全透明的颜色
border.Background = new SolidColorBrush(Color.FromArgb(0, 0, 0, 0));
但你也可以通过改变alpha来制作半透明颜色(这看起来像50%透明的红色:
border.Background = new SolidColorBrush(Color.FromArgb(128, 255, 0, 0));