Как сосредоточиться в WPF с WindowsFormHost

У меня есть такая простая настройка:

<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. Это странно. Может быть, это ошибка?

0 ответов

Другие вопросы по тегам