7
votes

Placement popup WPF

Y a-t-il une chance que je puisse placer popup à côté d'un élément de la liste de liste? J'utilise MVVM, la liste est liée aux éléments et pour certains éléments choisis, je veux afficher la pop up à côté de l'élément.

J'ai une liste d'éléments et je souhaite afficher la pop up lorsque je clique sur l'élément de liste spécifié, mais la popup devrait être affiché à côté de l'élément de la liste sélectionnée.

J'ai essayé quelque chose comme ça (ça ne fonctionne pas): xxx

Je ne veux pas utiliser code derrière, seulement xaml


0 commentaires

3 Réponses :


2
votes

Depuis que vous souhaitez afficher la fenêtre contextuelle lorsque l'élément est cliqué, cela fonctionnera-t-il pour vous:

<Popup  IsOpen="{Binding Path=ShowPopup}" Placement="Mouse">
     <TextBox Background="Red" Height="120" Text="Aaaaaa FUUUUUUUUUUUUU....."></TextBox>
 </Popup>


0 commentaires

3
votes

La raison pour laquelle votre exemple ne fonctionne pas est simplement parce que vous liez la cible de placement à un objet non-UI.

PlacementTarget="{Binding ElementName=List1, Path=SelectedItem}"


0 commentaires

7
votes

Ceci placera une popup à droite de la liste de liste sélectionnée

text alt

exemple xxx


1 commentaires

Excellente solution mais j'ai trouvé une erreur mineure. Pour obtenir ce travail, je devais changer le setter de {staticresource listboxItemTemplate} à staticresource popuplistboxItemtemplate}.