У меня возникли проблемы при размещении формы WinForms в WindowsFormsHost
и навигации по вкладкам. Чтобы решить эту проблему, я сделал этот простой пример:
Окно
(начальная точка приложения) Форма
с двумя TextBox
на нем. WindowsFormsHost
к нему OnLoaded
текстовое поле
, расположенное под ] WindowsFormsHost
В обработчике OnLoaded
я получил:
System.Windows.Forms.Form f = new WinFormsForm();
f.TopLevel = false;
f.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.windowsFormsHost1.Child = f;
Теперь, когда я запускаю приложение:
TextBox
в WindowsFormsHost
, он получает фокус (хорошо) TextBox
в WindowsFormsHost
(ok) TextBox
в WindowsFormsHost
( not ok; следовало оставить WindowsFormsHost
и переключить фокус на текстовое поле в нижней части окна WPF) WindowsFormsHost
) он получает фокус (хорошо) WindowsFormsHost
- так как оно должно переходить в начало после конца. Так что это тоже нормально WindowsFormsHost
(ok) WindowsFormsHost
(переходит в начало в WFH) ( не нормально) Как заставить фокус вести себя так, как если бы у меня были элементы управления только одного типа? Это означает порядок табуляции для WFH-1st-Textbox, WFH-2nd-Textbox, WPF-Textbox в данном случае.