WPF 中的透明边框以编程方式
在 XAML 文件中生成在视口上透明的边框(用于轨迹球事件)很简单:
<Border Name="myElement" Background="Transparent" />
但是如何在 .cs 中做到这一点?
Border border = new Border();
**border.Background = (VisualBrush)Colors.Transparent;**
grid.Children.Add(viewport);
grid.Children.Add(border);
这当然行不通。
It's trivial to generate a border (to use for Trackball events) transparent over the viewport in the XAML file:
<Border Name="myElement" Background="Transparent" />
But how do I do it in the .cs?
Border border = new Border();
**border.Background = (VisualBrush)Colors.Transparent;**
grid.Children.Add(viewport);
grid.Children.Add(border);
This does not work of course.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是因为您不能仅将颜色投射为画笔。请改用透明画笔
This is because you can't just cast a Color to be a Brush. use the Transparent brush instead
使用
SolidColorBrush
:VisualBrush
有不同的用途。请在此处查看 WPF 画笔主要类型的概述:http://msdn.microsoft .com/en-us/library/aa970904.aspx
Use a
SolidColorBrush
:The
VisualBrush
has a different purpose. See an overview of the main types of WPF brushes here:http://msdn.microsoft.com/en-us/library/aa970904.aspx
您还可以创建具有透明颜色的 SolidColorBrush:
这将创建完全透明的颜色
,但您也可以通过更改 alpha 来创建半透明颜色(这看起来像 50% 透明的红色:
You can also create a SolidColorBrush with transparent color:
This will create a fully transparent color
but you can also make semitransparent color by changing alpha (this will look like 50% transparent red: