2013-07-23 123 views
0

我在C#中有以下布局,WindowsFormHost托管一个OpenGL窗口。我想在它上面添加一个透明画布,以便绘制二维的东西。但是,此代码不起作用。请帮忙。OpenGL上的C#透明画布

mc:Ignorable="d"> 
<Grid> 
    <DockPanel> 
     <WindowsFormsHost Grid.Column="0" x:Name="ScannerViewPanel"/> 
     <Canvas Background="Transparent"/> 

编辑:添加画布后,OpenGL内容不显示,但只显示不透明画布。我试图使画布透明,将不透明度设置为0,但仍然不透明。

+0

什么不行?画布不显示吗?你有错误吗?编译时间或运行时间?我们需要更多信息来帮助你。 –

+0

更多精彩点子? – Alin

回答

1

MSDN

在WPF用户界面,可以元素的z顺序更改为 控制重叠行为。托管的Windows窗体控件在单独的HWND中绘制为 ,因此它总是绘制在WPF元素的顶部。

你不能那样做。

0

你很可能有一个"Airspace"问题。这是由于您使用OpenGL这个事实而加剧的 - 一个没有解决这个问题的API。如果您使用的是DirectX,则可以使用this