我有一个看起来像这样的上下文菜单
A
|--1
|--2
|--3
在选择 1 2 或 3 之后,我需要访问调用上下文菜单的对象
意味着如果这是文本框的上下文菜单1,那么我需要访问该对象,我该怎么做?
忘了说,这是一个 WPF 应用程序。所以我使用 System.Windows.Controls 并且 ContextMenu 是以编程方式创建的
最佳答案
你可以走上树并从 ContextMenu.PlacementTarget
获取控制权,例如
private void MenuItem_Click(object sender, RoutedEventArgs e)
{
var item = sender as MenuItem;
while (item.Parent is MenuItem)
{
item = (MenuItem)item.Parent;
}
var menu = item.Parent as ContextMenu;
if (menu != null)
{
var droidsYouAreLookingFor = menu.PlacementTarget as TextBox;
//...
}
}
关于c# - 获取上下文菜单的控制权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6720366/