2011-11-04 99 views
1

我想加载一个SWF文件作为我的WPF窗口的背景。为此,我使用了WinformHost,并使用插件AxShockwaveFlashObjects在Winform主机中加载swf电影。控件不显示在Winforms主机

<Grid> 
    <WindowsFormsHost Name="wfh"> 
     <ax:AxShockwaveFlash x:Name="axFlash"/> 
    </WindowsFormsHost> 
</Grid> 

直到这里应用程序工作正常。但是,当我将其他控件(按钮,文本块等)添加到网格时,它们不显示。我看到的只是电影。任何指针请。

+0

如何将其他控件添加到网格?你能显示一些代码吗? – ChrisWue

+1

这通常被称为“空域”问题 - 您可以通过谷歌搜索WPF和空域了解更多信息。 –

回答

5

这实际上是预期的,因为WPF元素都是在单个HWND(在这种情况下是WPF窗口的)中呈现的,因此低于WindowsFormsHost(或任何其他HwndHost)。 MS'文档中讨论了here,并且还讨论了here

从理论上讲,这将通过添加到.NET 4.5的一些新功能来支持 - 通过HwndHost的IsRedirected属性。这在4.5 here的一些预览文档中进行了讨论。

+0

IsRedirected仅在Beta版本中可用,没有达到最终版本。 – watbywbarif