我是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