我是WPF中的新成員,儘管我對WinForms有一些經驗。我只想爲我動態創建的幾個對象添加ContextMenu,但在VS工具箱中找不到ContextMenu組件。我發現的唯一方法是在運行時創建文本菜單是這樣的:WPF中的ContextMenu
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
但是,由於它的工作原理,在的WinForms我能的ContextMenuStrip組件拖放到自己的狀態並很快確定項目和活動W/O寫任何碼。在WPF中可能嗎?
好的,但我動態創建對象,所以如何在運行時綁定它? – Mike
@邁克爾:你應該能夠通過'VAR pMenu =(文本菜單)this.Resources [「將myContextMenu」]得到的ContextMenu在運行時,'然後你可以這個變量分配到動態創建的控制。 – Heinzi
謝謝,它的工作原理。我唯一不能理解的是爲什麼在WPF中我必須做所有這些魔術,並且在IDE中沒有適當的組件和GUI來讓事情變得更容易,因爲它們必須是。 – Mike