控件不显示在Winforms主机
问题描述:
我想加载一个SWF文件作为我的WPF窗口的背景。为此,我使用了WinformHost,并使用插件AxShockwaveFlashObjects在Winform主机中加载swf电影。控件不显示在Winforms主机
<Grid>
<WindowsFormsHost Name="wfh">
<ax:AxShockwaveFlash x:Name="axFlash"/>
</WindowsFormsHost>
</Grid>
直到这里应用程序工作正常。但是,当我将其他控件(按钮,文本块等)添加到网格时,它们不显示。我看到的只是电影。任何指针请。
答
这实际上是预期的,因为WPF元素都是在单个HWND(在这种情况下是WPF窗口的)中呈现的,因此低于WindowsFormsHost(或任何其他HwndHost)。 MS'文档中讨论了here,并且还讨论了here。
从理论上讲,这将通过添加到.NET 4.5的一些新功能来支持 - 通过HwndHost的IsRedirected属性。这在4.5 here的一些预览文档中进行了讨论。
+0
IsRedirected仅在Beta版本中可用,没有达到最终版本。 – watbywbarif
如何将其他控件添加到网格?你能显示一些代码吗? – ChrisWue
这通常被称为“空域”问题 - 您可以通过谷歌搜索WPF和空域了解更多信息。 –