2015-12-14 1 views
0

Как я могу перебирать элемент управления окна из формы ниже hiearchy? Windows.Forms -> WPF UserControl -> Окно WPF (с помощью ShowDialog). LogicalTreeHelper.GetChildren не заражает объект Window.Как я могу выполнить итерацию в окне управления из формы

+0

Просьба указать более подробную информацию о том, что вы хотите достичь, и пример кода также будет отличным. – melya

+0

У меня есть приложение формы. В этом есть Windows.Forms. В этом я добавил узел элемента. К этому я добавил пользовательский контроль WPF. WPF Usercontrol имеет кнопку и на кнопке щелчок. Открывает элемент управления Window, который выводится из окна WPF. WindowControl wc = new WindowControl(); wc.Show(); Я обнаружил дочерние элементы управления, используя дочерние элементы IEnumerable = LogicalTreeHelper.GetChildren (родительский); Но я не получаю окно – WpfBegnner

ответ

0

Окно, открытое вызовом Show, автоматически не имеет отношения к открытому окну; в частности, открытое окно не знает, какое окно его открыло. Эта связь может быть установлена ​​с использованием свойства Owner и управляется с использованием свойства OwnedWindows. здесь - Window.Show Method()

Но вы не можете установить Owner для WPFWindow, потому что «владелец» свойство можно получить только WPFWindow, но у вас есть, как окна владельца WinForms. Возможно, вы можете просто сохранить WindowControl как переменную экземпляра в своем классе, чтобы потом вы могли получить ее в любое время.

+0

В настоящее время ям объявляет как WindowControl wc = new WindowControl(); wc.Show(); Могу ли я получить каждое открытое окно WPF из контроля форм? – WpfBegnner

+0

'WindowControl' это ваш собственный класс, полученный из' System.Windows.Window'? – melya

+0

Да открытый частичный класс WindowControl: Окно – WpfBegnner