我有一个嵌入WPF窗口内的WindowsFormsHost控件的SWF对象。工具栏覆盖在WindowsFormsHost
我想在swf电影上添加一个工具栏。
下面的代码片段的问题是,当新的孩子被添加到主机控件(或电影加载,我还没有想出哪些),工具栏是有效地不可见。看起来swf的z-index是由于某种原因设置为最高的。
这里是什么样子:
XAML:
<Grid Name="Player">
<WindowsFormsHost Name="host" Panel.ZIndex="0" />
<Grid Name="toolbar" Panel.ZIndex="1" Height="50"
VerticalAlignment="Bottom">
[play, pause, seek columns go here]
</Grid>
</Grid>
C#:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
flash = new AxShockwaveFlashObjects.AxShockwaveFlash();
host.Child = flash;
flash.LoadMovie(0, [movie]); // Movie plays, but no toolbar :(
}
在这个问题上任何有识之士将不胜感激。
更新:由于没有合适的答案贴出来,我下面放置自己的解决方案。我意识到这比解决方案更像是一种攻击,所以我愿意接受其他建议。
注:我也尝试在弹出框中嵌套'工具栏',以'主机'为目标。这种方法的问题是,如果窗口被移动/调整大小,弹出窗口不会跟随。 – funseiki
看起来,这可能是不可能的,没有一些黑客。微软的[post](http://msdn.microsoft.com/en-us/library/ms744952.aspx) – funseiki
(来自你上面的链接)“托管的Windows Forms控件也绘制在任何Adorner元素之上。”我打算说使用Adorner,但看起来这也不起作用。 – Tom