Jestem nowy w WPF, choć mam pewne doświadczenie z WinForm. Chcę tylko dodać ContextMenu dla kilku obiektów, które tworzę dynamicznie, ale nie znalazłem elementu ContextMenu w przyborniku VS. Jedynym sposobem, znalazłem jest stworzenie ContextMenu w czasie wykonywania tak:Menu kontekstowe w WPF
ContextMenu pMenu = new ContextMenu();
MenuItem item1 = new MenuItem();
MenuItem item2 = new MenuItem();
//I have about 10 items
//...
item1.Header = "item1";
item1.Click += new RoutedEventHandler(item1_Click);
pMenu.Items.Add(item1);
item2.Header = "item2";
item2.Click += new RoutedEventHandler(item2_Click);
pMenu.Items.Add(item2);
//and so on
Działa on jednak w WinForms udało mi się upuścić element ContextMenuStrip do mojej postaci i bardzo szybko określić przedmioty i zdarzenia w/o pisanie dowolny kod. Czy jest to możliwe w WPF?
Ok, ale tworzę obiekty dynamicznie, więc jak je powiązać w czasie wykonywania? – Mike
@Michael: Powinieneś być w stanie uzyskać ContextMenu w czasie wykonywania poprzez 'var pMenu = (ContextMenu) this.Resources [" MyContextMenu "];' Następnie możesz przypisać tę zmienną do dynamicznie tworzonego kontrolki. – Heinzi
Dzięki, to działa. Jedyne, czego nie mogę zrozumieć, to dlaczego w WPF muszę robić całą tę magię i nie ma odpowiedniego komponentu i GUI w IDE, aby rzeczy były łatwiejsze, niż muszą. – Mike