У меня есть простая настройка:
<StackPanel>
<TextBox Text="wpf1" PreviewLostKeyboardFocus="TextBox_PreviewLostKeyboardFocus" />
<TextBox Text="wpf2" PreviewLostKeyboardFocus="TextBox_PreviewLostKeyboardFocus" />
<WindowsFormsHost>
<wf:TextBox Text="winforms" />
</WindowsFormsHost>
</StackPanel>
private void TextBox_PreviewLostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
{
e.Handled = true;
}
Три текстовых поля, два WPF и один WinForm.Я не могу переместить фокус между двумя желаемыми текстовыми полями WPF, но я могу переместить фокус на текстовое поле WinForm.Событие PreviewLostKeyboardFocus
даже не запускается при перемещении из текстового поля WPF в текстовое поле WinForm.Любые подсказки, почему и как это можно решить?
РЕДАКТИРОВАТЬ
Я заметил, что WindowsFormsHost.PreviewGotKeyboardFocus
запускается первым, когда фокус снова покидает WindowsFormsHost.Это странно.Может быть, это ошибка?