Comment afficher plusieurs PupupMenu ressemble à l'image ci-dessous dans Metro/WinRT (C#)?Comment afficher plusieurs PopupMenu dans Metro WinRT?
Voici mon code C#.
private async void OnPointerPressed(object sender, Windows.UI.Xaml.Input.PointerRoutedEventArgs e)
{
PopupMenu menu1 = new PopupMenu();
menu1.Commands.Add(new UICommand("menu1 A", (function) => { }));
menu1.Commands.Add(new UICommand("menu1 B", (function) => { }));
Task<IUICommand> task1 = menu1.ShowAsync(new Point(100, 100)).AsTask<IUICommand>();
PopupMenu menu2 = new PopupMenu();
menu2.Commands.Add(new UICommand("menu2 C", (function) => { }));
menu2.Commands.Add(new UICommand("menu2 D", (function) => { }));
Task<IUICommand> task2 = menu2.ShowAsync(new Point(200, 100)).AsTask<IUICommand>(); // A first chance exception of type 'System.InvalidOperationException' occurred in mscorlib.dll
Task<IUICommand> task = await Task.WhenAny(task1, task2);
if (task.Result != null)
{
await new MessageDialog(task.Result.Label).ShowAsync();
}
}
Depuis que je suis certes trop paresseux pour copier/coller ceci et essayer moi-même: Où votre code échoue? Si je devais deviner, il est probablement impossible d'avoir plusieurs PopupMenus ouverts à la fois - cela pourrait casser LightDismiss. Dans ce cas, la solution consisterait à combiner tous les éléments de menu dans un menu contextuel ou dans un contrôle personnalisé. –
a échoué à: Tâche task2 = menu2.ShowAsync (nouveau point (200, 100)) AsTask (); –
ooops. Désolé mon mauvais. Je n'ai pas fait défiler vers la droite ... –