WPF-Popup-Fokus im Datenraster

Ich erstelle ein benutzerdefiniertes UserControl, das in einer DataGrid-Bearbeitungsvorlage verwendet wird. Es sieht aus wie das:

<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>

bearbeiten: Ich habe den Code etwas eingegrenzt. Es scheint, dass, wenn ich ein Popup mit Textbox direkt in die CellEditingTemplate lege, die Textbox den Fokus erhält, kein Problem. Wenn ich diesen Code in ein UserControl verschiebe, kann ich das Textfeld beim Bearbeiten der Zelle nicht mehr auswählen.

Macht das UserControl etwas lustiges mit dem Fokus?

Das Problem ist, wenn ich die Zelle im datagrid bearbeite, bekomme ich das Benutzersteuerelement, das angezeigt wird, aber ich kann nicht in das TextBox searchTextBox klicken. Wenn ich darauf klicke, wird das Popup geschlossen und die Zelle wird auf den Standardwert zurückgesetzt.

Ich habe versucht, den gesamten Code innerhalb des Benutzersteuerelements zu kopieren und einzufügen und ihn direkt in das CellEditingTemplate einzufügen, und das interagiert so, wie es sollte.

Ich habe mich nur gefragt, ob das UserControl etwas Seltsames getan hat, das verhindert, dass ein Popup den Fokus erhält, weil es wie erwartet funktioniert, wenn es direkt in der CellEditingTemplate platziert wird.

Danke, Raul

Antworten auf die Frage(4)

Ihre Antwort auf die Frage