我正在使用elementHost控件在WinForms中托管WPF控件。当我尝试将元素大小(高度)调整为原始位置时,内部的子控件居中,并在其周围出现黑色边框。当我尝试修改孩子的大小以匹配宿主控件时,它仍然“居中”它并且部分孩子被切断并且不适合。
这是我的调整大小代码(以resize事件处理程序的形式):
elementHost1.Height = ClientSize.Height - h;
elementHost1.Width = ClientSize.Width - w;
(elementHost1.Child as WPFCodeBox).textEditor.Height = ClientSize.Height - h;
(elementHost1.Child as WPFCodeBox).textEditor.Width = ClientSize.Width - w;
(elementHost1.Child as WPFCodeBox).Border.Width = ClientSize.Width - w;
(elementHost1.Child as WPFCodeBox).Border.Height = ClientSize.Height - h;
Where h is the distance from the bottom of the form to the bottom of the element host
same for w but in width.
感谢您的帮助!
答案 0 :(得分:1)
我之前说过我必须让elementhost填充设计器,然后在表单代码中调整大小,但事实证明并不是解决了它的问题。在我的一个加载事件中,我将elementhost的子属性的高度设置为一个值,显然会破坏它。