Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight ContextMenuService多个控件的共享菜单_Silverlight_Contextmenu - Fatal编程技术网

Silverlight ContextMenuService多个控件的共享菜单

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

我正在为我们的项目构建一个Silverlight和WPF客户端

当我尝试为控件分配上下文菜单时,在我看来上下文菜单一次只能分配给一个控件,是这样吗

例如,当我画几条线的时候

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中定义上下文菜单,这将变得更清楚

要共享上下文菜单的一个实例,您需要动态分配它(例如,当单击鼠标右键或其他事件时)

这似乎是一种非常低效的定义上下文菜单的方法,所以我相信其他人已经创建了通用的方法来共享它们。。。继续搜索(我会的)