1

我正在使用 ElementHost 在 WinForms 应用程序中托管 WPF 自定义控件。控件有一个粗边框,当控件具有焦点时应该可见。边框在控件“外部”,即具有负边距。

问题是焦点边框永远不会出现。如果我将包含我的控件的填充边框添加到 ElementHost,它就会变得可见。但是,我希望将控件保留在 ElementHost 中,因此它不会破坏在使用存根之前制作的布局。任何的想法?

谢谢。

4

1 回答 1

3

ElementHost 有自己的窗口句柄,它承载了其中的所有 WPF 元素。它是一个单独的 WinForms 控件。

一般来说,窗口句柄不能在其边界矩形之外绘制(在这种情况下,它将是 ElementHost 的边界矩形,相对于其父 WinForms 控件)。

所以不,您不能在 WPF 元素上使用负边距在 ElementHost 之外绘制。您需要改为在 WinForms 中绘制边框,或者修改布局以使 ElementHost 更大。

于 2011-04-26T03:23:46.437 回答