在Silverlight 5中动态创建ContextMenu

时间:2013-05-03 05:42:16

标签: silverlight contextmenu silverlight-5.0 silverlight-toolkit

这几天我刚刚开始使用Silverlight。

目前我已在画布中动态生成了一些面板。每个小组都会有一个共享的MouseLeftButtonUp活动,该活动会显示ContextMenu

现在的问题是当我点击第一个面板时,ContextMenu能够显示但是当我点击第二个面板时,第一个ContextMenu显示而不是第二个。仅当我在第二个面板上单击另一个时间时,第二个面板才会显示其ContextMenu。

下面是我生成面板和上下文菜单的代码:

void generatePanel()
{
    StackPanel panel = new StackPanel();

    panel.MouseLeftButtonUp += panel_MouseLeftButtonUp;

    canvas.Children.Add(panel)
}

void panel_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
    e.Handled = true;

    ContextMenu menu = new ContextMenu();
    menu.IsOpen = true;
}

希望我的问题很清楚。有什么方法可以解决这个问题吗?或者,如果隐藏菜单时有任何事件被触发,那么我可以确保处理或清除上一个上下文菜单?

感谢。

0 个答案:

没有答案