我正在使用ElementHost在WinForms应用程序中托管一个WPF自定义控件。控件有一个粗框,当控件具有焦点时,它应该是可见的。边框在控件的“外部”,也就是说,边框是负边距。
问题是焦点边界从来没有出现过。如果我在ElementHost中添加一个带有填充的边框,它就会变得可见。但是,我希望在ElementHost中使用控件,这样它就不会破坏在使用存根之前所做的布局。有什么想法吗?
谢谢。
发布于 2011-04-26 11:23:46
ElementHost有自己的窗口句柄,它承载了其中的所有WPF元素。它是一个单独的WinForms控件。
一般来说,窗口句柄不能在其边框之外绘制(在本例中,边框将是ElementHost相对于其父WinForms控件的边框)。
所以,你不能在你的WPF元素上使用负边距来在ElementHost之外绘制。您需要在WinForms中绘制边框,或者修改布局以使ElementHost更大。
https://stackoverflow.com/questions/5784750
复制相似问题