【发布时间】:2013-02-20 18:48:07
【问题描述】:
我遇到了 WPF elementHost 背景颜色的问题。我有一个在面板中加载 UserControl(Winform) 的 winform。在该用户控件中,我有两个面板,每个面板内部都有一个 elementHost 承载 WPF 用户控件。
图片可能更有帮助:
如您所见,它们每个的背景色都是黑色,而元素应该是这样显示的:
我注意到当我在面板中加载其他用户控件时发生了这种情况。我需要知道如何解决这个问题。
每个 elementHost 都将其背景色设置为透明,并将 BackColorTransparent 设置为 True。 另外,我尝试在运行时更改背景颜色,但仍然是同样的问题。
更新: 好的,我注意到,如果我在表单的加载事件中将 UserControl 加载到面板中,则 elementHost 会正确加载。但是,如果我在按钮单击事件中加载面板中的 UserControl,我会得到黑色背景。
作品:
private void frm_Configuracion_Load(object sender, EventArgs e)
{
/*ABM.frm_ABM_Banco_Sucursal banco_sucursal = new ABM.frm_ABM_Banco_Sucursal();
panel1.Controls.Add(banco_sucursal);*/
}
不要工作:
private void button3_Click(object sender, EventArgs e)
{
ABM.frm_ABM_Banco_Sucursal banco_sucursal = new ABM.frm_ABM_Banco_Sucursal();
panel1.Controls.Add(banco_sucursal);
}
显然,仅当我使用一个 UserControl 时,使用 Load 事件才是解决方案,但我不是。
【问题讨论】:
-
Apparently 这是不可能的。顺便说一句,esa grilla es de winforms?
-
是的,我读过那个网址,但这是可能的。 WPF 用户控件在我的所有表单中都是透明的。当我在面板中加载 Winform UserControl 并且 UserControl 具有那些 ElementsHost 时,该错误才会出现。是的,我在 Winforms 中做了那个网格
-
恭喜 =)。没想到winforms能做出这么好看的东西。
-
谢谢。它比人们知道的更可定制。有它的局限性,但可以实现很多事情。
标签: c# winforms user-controls elementhost backcolor