WPF编程中如何以编程方式创建透明边框

9

在XAML文件中生成一个透明的边框(用于Trackball事件)非常简单:

<Border Name="myElement" Background="Transparent" />

但是我该如何在 .cs 文件中实现它呢?

Border border = new Border();
**border.Background = (VisualBrush)Colors.Transparent;**
grid.Children.Add(viewport);
grid.Children.Add(border);

这当然是不起作用的。

3个回答

25

这是因为你不能直接将Color转换为Brush。使用Transparent brush代替。

border.Background = Brushes.Transparent;

4

3
您也可以使用透明颜色创建SolidColorBrush: 这将创建完全透明的颜色。
border.Background = new SolidColorBrush(Color.FromArgb(0, 0, 0, 0));

不过,你也可以通过改变alpha(透明度)值制作半透明颜色(这将看起来像50%的半透明红色:

border.Background = new SolidColorBrush(Color.FromArgb(128, 255, 0, 0));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接