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属性了。