Je crée un UserControl personnalisé à utiliser dans un modèle d'édition DataGrid. Il ressemble à ceci:WPF Popup focus dans la grille de données
<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>
modifier: J'ai PRECISEE un peu le code. Il semble que si je mets directement un popup avec la zone de texte dans le CellEditingTemplate, la zone de texte ne se focalise pas. Lorsque je déplace ce code dans un UserControl, je ne peux plus sélectionner la zone de texte lors de la modification de la cellule.
Le UserControl fait-il quelque chose de drôle avec le focus?
Le problème est quand je modifier la cellule dans la grille de données que je reçois le contrôle de l'utilisateur montrant mais je ne peux pas cliquer dans la zone de texte searchTextBox. Lorsque je clique dessus, la fenêtre se ferme et la cellule revient à la valeur par défaut.
J'ai essayé de copier et coller tout le code dans le contrôle utilisateur et de le coller directement dans le CellEditingTemplate et cela interagit comme il le devrait.
Je me demandais juste si le contrôle UserControl a fait quelque chose de bizarre qui empêche un popup de gagner le focus parce qu'il fonctionne comme prévu lorsqu'il est directement placé dans le CellEditingTemplate?
Merci, Raul
Eh bien, le UserControl a quelque chose de bizarre avec ce qui ne traite pas la mise au point d'un Popup pour faire partie de son auto. J'ai donc dû créer un Custom Control et scratcher le UserControl. Ce fut une douleur mais vaut la peine pour la liberté que vous obtenez. – HaxElit