C# 如果在多个UserControl中使用,则不会显示ContextMenu
我有以下代码C# 如果在多个UserControl中使用,则不会显示ContextMenu,c#,windows-phone-8,contextmenu,C#,Windows Phone 8,Contextmenu,我有以下代码 ContextMenu cm1 = new ContextMenu(); ContextMenu cm2 = new ContextMenu(); // Constructor public MainPage() { InitializeComponent(); MenuItem mi = new MenuItem(); mi.Header = "Remove"; mi.Cli
ContextMenu cm1 = new ContextMenu();
ContextMenu cm2 = new ContextMenu();
// Constructor
public MainPage()
{
InitializeComponent();
MenuItem mi = new MenuItem();
mi.Header = "Remove";
mi.Click += Remove_Icon_Click;
cm1.Items.Add(mi);
mi = new MenuItem();
mi.Header += "Replace";
mi.Click += Replace_Icon_Click;
cm1.Items.Add(mi);
mi = new MenuItem();
mi.Header = "Add Icon";
mi.Click += Replace_Icon_Click;
cm2.Items.Add(mi);
}
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
Camera c = new Camera();
ContextMenuService.SetContextMenu(c, cm1);
Homescreen1.Add(c);
for (int i = 0; i < 19; i++)
{
Empty_Icon ei = new Empty_Icon();
ContextMenuService.SetContextMenu(ei, cm2);
Homescreen1.Add(ei);
}
int row=1, column=1;
for (int i = 1; i <= Homescreen1.Count ; i++)
{
Homescreen1[i - 1].SetValue(Grid.RowProperty, row-1);
Homescreen1[i - 1].SetValue(Grid.ColumnProperty, column-1);
grid1.Children.Add(Homescreen1[i - 1]);
if (i % 4 == 0)
{
row++;
column = 1;
}
else
column++;
}
}
ContextMenu cm1=newcontextmenu();
ContextMenu cm2=新建ContextMenu();
//建造师
公共主页()
{
初始化组件();
MenuItem mi=新的MenuItem();
mi.Header=“删除”;
mi.Click+=删除图标\u单击;
cm1.项目。添加(mi);
mi=新菜单项();
mi.标题+=“替换”;
mi.Click+=替换图标\u单击;
cm1.项目。添加(mi);
mi=新菜单项();
mi.Header=“添加图标”;
mi.Click+=替换图标\u单击;
cm2.添加项目(mi);
}
已加载专用void PhoneApplicationPage_(对象发送方,路由目标)
{
摄像头c=新摄像头();
SetContextMenu(c,cm1);
增加(c);
对于(int i=0;i<19;i++)
{
空_图标ei=新的空_图标();
ContextMenuService.SetContextMenu(ei,cm2);
增加(ei);
}
int行=1,列=1;
对于(int i=1;i