silverlight(c#)如何实现在listbox中,在右击鼠标时选中listboxitem,同时能够显示菜单????
2个回答
展开全部
使用ContextMenu右键菜单啊
这是我用过的一个DataGrid的ListBox基本和这个一样
var dg = sender as DataGrid;
dg.RowStyle = null;
DataGridRow dgr = e.Row;
// dgr.Background = new SolidColorBrush(Colors.Red);
var cm = new ContextMenu();
System.Windows.Controls.MenuItem mi;
foreach (string s in MenuStringList)
{
mi = new System.Windows.Controls.MenuItem();
mi.Click += new System.Windows.RoutedEventHandler(mi_Click);
mi.Header = s;
cm.Items.Add(mi);
}
ContextMenuService.SetContextMenu(dgr, cm);
这是我用过的一个DataGrid的ListBox基本和这个一样
var dg = sender as DataGrid;
dg.RowStyle = null;
DataGridRow dgr = e.Row;
// dgr.Background = new SolidColorBrush(Colors.Red);
var cm = new ContextMenu();
System.Windows.Controls.MenuItem mi;
foreach (string s in MenuStringList)
{
mi = new System.Windows.Controls.MenuItem();
mi.Click += new System.Windows.RoutedEventHandler(mi_Click);
mi.Header = s;
cm.Items.Add(mi);
}
ContextMenuService.SetContextMenu(dgr, cm);
追问
你说的很对,我也用了,但是又出现了新的问题。这个菜单我做出来了。我设置了一项:“重命名”,当点击的时候,我就是想重命名一个textblock的text属性,但是我用template来显示listbox的item(包含一个textblock),后台获取不到我要重命名的那个textblock控件。求解
追答
要用控件的FindName来查找template中的控件
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询