У меня есть пользовательский элемент управления WPF, XAML которого приведен здесь.
<UserControl x:Class="Trial.WpfControls.OrganisationPicker"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid Height="25" Width="200">
<DockPanel HorizontalAlignment="Stretch" Name="dockPanel1" VerticalAlignment="Stretch">
<TextBox Name="txtOrgId" TabIndex="101" Width="168" Height="Auto" Keyboard.PreviewKeyDown="txtOrgId_PreviewKeyDown" LostFocus="txtOrgId_LostFocus" />
<Button Content="Search" TabIndex="102" Name="btnOrgSearchSelector" Width="32" Height="Auto" DockPanel.Dock="Right" Click="btnOrgSearchSelector_Click" Keyboard.PreviewKeyDown="btnOrgSearchSelector_PreviewKeyDown" />
</DockPanel>
</Grid>
</UserControl>
Когда я помещаю его в какое-то другое окно WPF и вкладываю его в этот элемент управления во время вкладки окна, каким-то образом этот элемент управления не теряет фокус.Фокус приходит на кнопку «Поиск» и остается только там.
Как решить эту проблему?Почему он не снимает фокус?
ОБНОВЛЕНИЕ:
Когда я добавляю KeyboardNavigation.TabNavigation="Once"
к элементу UserControl
, фокус выходит из-под контроля.НО, когда я нажимаю клавишу TAB из текстового поля, оно сразу гаснет вместо установки фокуса на кнопку поиска.Так что это, конечно, не ожидаемое поведение для меня.