2012-03-10 2 views
0

У меня есть элемент управления WPF в WinForms с помощью элемента управления elementHost. Когда я пытаюсь изменить размер elementHost (по высоте) дальше, то позиция orignal, дочерний элемент управления внутри центрируется, и вокруг него появляются черные границы. Когда я пытаюсь изменить размер ребенка в соответствии с контролем хоста, он все еще «центрирует» его, а часть ребенка отключается и не подходит.Хост элемента не изменяет размер ребенка правильно

My hosted control when the form is resized to be bigger.

Вот мой код изменения размера (который находится в форме изменения размера обработчик событий):

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

Hi Aidan - если вы решили свой собственный вопрос, отправьте решение в качестве ответа и, по прошествии промежутка времени, отметьте его «Принято». Таким образом, на самом деле вопрос будет «отвечать» на всем сайте. –

+0

Положите свое решение в ответ и примите его ... – EricSchaefer

ответ

1

Я ранее сказал, что должен был сделать elementhost заполнить конструктор, а затем изменить размер в коде формы, но, как оказалось, это было не то, что исправил его. В одном из моих событий загрузки я устанавливал высоту дочернего свойства elementhost на значение, и, по-видимому, это нарушает его.

Смежные вопросы