Silverlight ContextMenuService多个控件的共享菜单
我正在为我们的项目构建一个Silverlight和WPF客户端 当我尝试为控件分配上下文菜单时,在我看来上下文菜单一次只能分配给一个控件,是这样吗 例如,当我画几条线的时候Silverlight ContextMenuService多个控件的共享菜单,silverlight,contextmenu,Silverlight,Contextmenu,我正在为我们的项目构建一个Silverlight和WPF客户端 当我尝试为控件分配上下文菜单时,在我看来上下文菜单一次只能分配给一个控件,是这样吗 例如,当我画几条线的时候 ContextMenu contextMenu = CreateLineMenu(); for (int i = 0; i < Points.Count - 1; i++) { Line l = new Line(); ... c
ContextMenu contextMenu = CreateLineMenu();
for (int i = 0; i < Points.Count - 1; i++)
{
Line l = new Line();
...
canvas.Children.Add(l);
ContextMenuService.SetContextMenu(l, contextMenu);
}
}
ContextMenu ContextMenu=CreateLineMenu();
对于(int i=0;i
菜单仅适用于最后添加的行。一次只能将单个上下文菜单分配给一个父对象,因为它刚刚添加到该子对象下的可视树中(并且在SL/WPF中,任何可视元素都不能有多个父对象) 如果您看看如何在XAML中定义上下文菜单,这将变得更清楚 要共享上下文菜单的一个实例,您需要动态分配它(例如,当单击鼠标右键或其他事件时)
这似乎是一种非常低效的定义上下文菜单的方法,所以我相信其他人已经创建了通用的方法来共享它们。。。继续搜索(我会)。一次只能为一个父对象指定一个上下文菜单,因为它刚刚添加到该子对象下的可视树中(并且在SL/WPF中,任何可视元素都不能有多个父对象) 如果您看看如何在XAML中定义上下文菜单,这将变得更清楚 要共享上下文菜单的一个实例,您需要动态分配它(例如,当单击鼠标右键或其他事件时) 这似乎是一种非常低效的定义上下文菜单的方法,所以我相信其他人已经创建了通用的方法来共享它们。。。继续搜索(我会的)