首先,我会说我搜索了这个问题,并且有很多话题,但这些都没有帮助我解决我的问题(例如:ThisPost,Or This, Or this)
所以问题是我有一个Windows窗体应用程序,它承载一个WPF应用程序。我有一个ElementHost对象,它包含作为子项的WPF控件。当我使用.Show方法时,我有1或2秒的黑色闪烁,然后我看到了我的wpf的内容。
我尝试使用可见性或放置不同的背景,或者之前设置空边界,但这些都没有帮助我。如果有人有不同的解决方案,请与我分享。
答案 0 :(得分:0)
我遇到了与您相同的问题,而我找不到其他答案可以实际使用,因此经过长时间的问题排查。我找到了答案。
如果您构建一个从Element Host扩展并在初始构造函数中扩展的类。您可以为主机容器设置加载事件。 “主机容器”是“元素主机子级”显示在其上方的面板。从那里,只需将“宿主容器”的背景色设置为“元素宿主父对象”的背景色即可。
赞
using System.Windows;
using System.Windows.Forms;
using System.Windows.Forms.Integration;
using System.Windows.Media;
public class MyElementHost : ElementHost
{
public MyElementHost()
{
this.HostContainer.Loaded += new RoutedEventHandler(HostPanelLoad);
}
public void HostPanelLoad(object sender, RoutedEventArgs e)
{
System.Drawing.Color parentColor = this.Parent.BackColor;
this.HostContainer.Background = new SolidColorBrush(Color.FromArgb(parentColor.A, parentColor.R, parentColor.G, parentColor.B));
}
}