关于WPF界面框架MahApps.Metro的一个BUG

碰到了这个问题,记录一下,以便以后查阅:

在一个WPF项目中使用MahApps.Metro界面框架,其中有一个功能是嵌入一个带句柄的标记。

首先WPF是出了窗体和WebBrowser带有句柄外,其他控件时没有句柄这个概念的。

为了实现播放功能,我必须使用带有句柄的控件,那么WebBrowser是不能作为播放窗口的。

所以我在界面上嵌入:

1 <WindowsFormsHost IsEnabled="False">
2   <WindowsFormsHost.Background>
3     <ImageBrush ImageSource="Images/badge.png" Stretch="Uniform" />
4   </WindowsFormsHost.Background>
5     <winform:PictureBox x:Name="PictureBoxPlayer"/>
6 </WindowsFormsHost>

但是问题来了,MahApps.Metro框架根本不显示WindowsFormsHost,好像是被遮盖了,但是在VS中可以预览!

 

解决方法:

在界面中添加以下内容 就可以正确显示WindowsFormsHost了

1 xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
2 xmlns:behaviours="clr-namespace:MahApps.Metro.Behaviours;assembly=MahApps.Metro"
1 <i:Interaction.Behaviors>
2   <behaviours:BorderlessWindowBehavior ResizeWithGrip="True" AllowsTransparency="False" />
3</i:Interaction.Behaviors>

 

 

你可能感兴趣的:(metro)