首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

WPF ContextMenu简单有关问题,大神速来

2013-02-28 
WPF ContextMenu简单问题,大神速来!MenuItem itemA new MenuItem(){Header 设置为停用,} itemD.Cli

WPF ContextMenu简单问题,大神速来!


   MenuItem itemA = new MenuItem()
                    {
                        Header = "设置为停用",              
                    };
 itemD.Click += AllContextMenuItemClick;
          
                    ContextMenu cmenu = new ContextMenu()
                    {
                        Width = 100,
                        ItemsSource = menuitem,
                         Tag=im.Tag
                    }; 
cmenu.Add(itemA);

Image im = new Image();
                    im.Tag="我要的数据";
                    im.ContextMenu=cmenu

private void AllContextMenuItemClick(object sender, RoutedEventArgs e)
        {
            //我想在这里,也就是menuItem的click事件里获取到 image.Tag里的东西.
        }

 
wpf
[解决办法]
List<Image> imgs = new List<Image>();

Image im = new Image();
                    im.Tag="我要的数据";
                    im.ContextMenu=cmenu
imgs.Add(im);

private void AllContextMenuItemClick(object sender, RoutedEventArgs e)
        {
            //我想在这里,也就是menuItem的click事件里获取到 image.Tag里的东西.
        }

这里面遍历查找吧。
[解决办法]
引用:
那你得定义个全局变量。你这是局部变量。用完了就没了。生命周期不对。
这个肯定取不到的。全局的就可以取到了。

他的代码没有写全,这个image肯定在外部被引用的,所以不用担心生命周期。
你的这个点击事件,要从sender参数入手,那个sender应该就是MenuItem?itemA,然后再往上要找ContextMenu cmenu,通过Parent属性,该属性返回的是DependencyObject对象,你要强制类型转换到ContextMenu 上面,之后就可以访问Tag属性了。

热点排行