Всплывающее окно WPF фокусируется в сетке данных

Я создаю пользовательский 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="&gt;Enter Name&lt;"/>
        </Popup>
    </Grid>
</UserControl>

править: Я сузил код немного. Кажется, что, если я поместил Всплывающее окно с текстовым полем в CellEditingTemplate непосредственно, текстовое поле добирается не, фокусируют проблемы. Когда я перемещаю тот код в UserControl, я больше не могу выбирать текстовое поле при редактировании ячейки.

UserControl делает что-то забавное с фокусом?


Проблема состоит в том, когда я редактирую ячейку в datagrid, я бужу показ пользовательского элемента управления, но я не могу нажать в TextBox searchTextBox. Когда я нажимаю на него, всплывающие завершения и ячейка возвращаются для установки по умолчанию.

Я попытался копировать и вставить весь код в пользовательском элементе управления и вставить его непосредственно в CellEditingTemplate, и это взаимодействует способ, которым он должен.

Я просто задавался вопросом, сделал ли UserControl что-то странное, которое препятствует тому, чтобы всплывающее окно получило фокус, потому что он работает как ожидалось, когда непосредственно помещено в CellEditingTemplate?

Спасибо, Raul

6
задан HaxElit 23 November 2009 в 21:27
поделиться