WPF Popup фокус в сетке данных
Я создаю пользовательский UserControl для использования внутри шаблона редактирования DataGrid. Это выглядит так:
<UserControl
x:Class="HR.Controls.UserPicker"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:tk="http://schemas.microsoft.com/wpf/2008/toolkit"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<TextBlock x:Name="PART_TextBox" Text="Hello WOrld" />
<Popup Width="234" Height="175" IsOpen="True" StaysOpen="True"
Placement="Bottom"
PlacementTarget="{Binding ElementName=PART_TextBox}"
>
<TextBox
x:Name="searchTextBox"
Text=">Enter Name<"/>
</Popup>
</Grid>
</UserControl>
редактировать: Я немного сузил код. Кажется, что, если я помещаю Popup with textbox внутри CellEditingTemplate напрямую, текстовое поле фокусируется без проблем. Когда я перемещаю этот код в UserControl, я больше не могу выбрать текстовое поле при редактировании ячейки.
UserControl делает что-то смешное с фокусом?
Проблема в том, что когда я редактирую ячейку в сетке данных, появляется пользовательский элемент управления, но я не могу щелкнуть в TextBox searchTextBox. Когда я нажимаю на него, всплывающее окно закрывается, и ячейка возвращается к значению по умолчанию.
Я попытался скопировать и вставить весь код внутри пользовательского элемента управления и вставить его непосредственно в CellEditingTemplate, и он взаимодействует так, как должен.
Мне просто интересно, если UserControl сделал что-то странное, что мешает всплывающему окну получить фокус, потому что он работает как положено, когда непосредственно помещается в CellEditingTemplate?
Спасибо Рауль