Je veux ajouter un popup sur le clic d'un bouton dans WPF. Je ne veux pas ajouter de code Popup dans mon code XAML. Ça doit être du code derrière.Popup à partir du code derrière WPF ne fonctionne pas (sur le redimensionnement et le changement de Windows)
Mon XAML est le suivant ::
<Window x:Class="Test.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
<Button x:Name="button1" Click="button1_Click">Button</Button>
</Grid>
</Window>
Mon fichier XAML a un simple bouton. Au clic du bouton, j'essaye d'exécuter le code suivant.
private void button1_Click(object sender, RoutedEventArgs e)
{
Button button = sender as Button;
Popup codePopup = new Popup();
TextBlock popupText = new TextBlock();
popupText.Text = "Popup Text";
popupText.Background = Brushes.LightBlue;
popupText.Foreground = Brushes.Blue;
codePopup.Child = popupText;
codePopup.PlacementTarget = button;
codePopup.IsOpen = true;
}
Mais pourquoi est le menu contextuel ne se attacher à la fenêtre. Je veux dire que la fenêtre contextuelle est affichée même si je change de fenêtre. Aussi quand je redimensionner la fenêtre, Popup n'est plus placé près du bouton ??
J'ai ajouté codePopup.IsOpen = true; Merci de son travail !! Mais pourquoi le popup ne se fixe pas à la fenêtre. Je veux dire que la fenêtre contextuelle est affichée même si je change de fenêtre. Aussi quand je redimensionne la fenêtre, Popup n'est plus placé près du bouton ?? – GuruC
Merci beaucoup :) – GuruC
@GuruC, avez-vous déjà trouvé comment créer Popup par programmation, mais l'avoir lui-même racine correctement afin que la popup se ferme lorsque vous cliquez à l'extérieur? – t9mike