Je charge dynamiquement des éléments sur une page (en lisant le contenu d'un fichier XML). Le contenu dynamique est chargé dans un StackPanel
. Chaque élément du contenu se compose d'un élément TextBlock
et d'un autre élément d'interface utilisateur. Par conséquent, pour chaque paire, je crée un nouveau StackPanel
qui est ensuite ajouté au parent StackPanel
. Le code ressemble à ceci:Ajout de WP7 ContextMenu par programme
TextBlock header = new TextBlock() {
Text = "Heading 1",
HorizontalAlignment = HorizontalAlignment.Stretch,
VerticalAlignment = VerticalAlignment.Top,
Foreground = (SolidColorBrush)Application.Current.Resources["PhoneAccentBrush"],
};
TextBox item = new TextBox() {
HorizontalAlignment = HorizontalAlignment.Stretch,
VerticalAlignment = VerticalAlignment.Top,
};
StackPanel sp = new StackPanel();
sp.Children.Add(header);
sp.Children.Add(item);
parentSP.Children.Add(sp);
Je veux ajouter un ContextMenu
à cette StackPanel
(sp
, non parentSP
); en fonction de certains paramètres lus dans le fichier, il peut s'agir de l'un des 2 menus contextuels différents. J'ai essayé ce qui suit, mais il ne fonctionne pas:
ContextMenu cm = new ContextMenu();
RoutedEventHandler clickHandler = new RoutedEventHandler(OnContextMenuClicked);
// Add "edit" entry
MenuItem menuItem = new MenuItem() {
Header = "edit",
Tag = "edit",
};
menuItem.Click += clickHandler;
cm.Items.Add(menuItem);
// Add "delete" entry
menuItem = new MenuItem() {
Header = "delete",
Tag = "delete",
};
menuItem.Click += clickHandler;
cm.Items.Add(menuItem);
parentSP.Children.Add(cm);
Comment puis-je ajouter un menu contextuel au programme StackPanel
?
De même, existe-t-il une meilleure façon de résoudre ce problème? Peut-être en stockant les 2 différents types de menus contextuels dans une section de ressources XAML et en les ajoutant au besoin? J'ai essayé de faire cela en ajoutant les menus contextuels à la section StackPanel.Resource
du parent mais eu une erreur en disant: « Un élément de propriété ne peut pas être l'enfant direct d'un autre élément de propriété »
Merci d'avance pour votre aide
Would J'ai été ravi d'avoir des réponses à ses autres questions ... – swinefeaster