![](/img/trans.png)
[英]wpf bring up a context menu dynamically on an editable cell in a datagrid
[英]Right-click on datagrid cell to bring up copy menu (ContextMenu)
我一直在嘗試創建右鍵單擊功能以在C#中調出上下文菜單,但是它似乎沒有用。 知道為什么嗎?
private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
ContextMenu m = new ContextMenu();
m.MenuItems.Add(new MenuItem("Copy"));
int currentMouseOverRow = dataGridView1.HitTest(e.X, e.Y).RowIndex;
m.Show(dataGridView1, new Point(e.X, e.Y));
}
}
我不確定您使用的是WPF / WinForms / BlackMagic / Etc ...,但是似乎每按一次右鍵,您都會創建一個新的上下文菜單,該菜單未附帶任何內容...
ContextMenu MyMenu = new ContextMenu();
MyMenu.MenuItems.Add("Copy");
您應該將其附加到正在使用的任何控件上(在您的情況下,我認為是網格或行):
SomeGrid.ContextMenu = MyMenu;
在WPF中,在ListBox上使用一個看起來像
<ListBox x:Name="NameYourList"
ItemsSource="{Binding SomeItem}"
SelectedItem="{Binding SomeProperty, UpdateSourceTrigger=PropertyChanged}"
>
<ListBox.ContextMenu>
<ContextMenu>
<MenuItem Header ="Copy Me" Command="{Binding Copy_Command}"
CommandParameter="{Binding SomeProperty}"
/>
</ContextMenu>
</ListBox.ContextMenu>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.