Как сосредоточиться в WPF с WindowsFormHost - PullRequest
2 голосов
/ 23 ноября 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...