我有一个ContextMenu
这样的:
<StackPanel Orientation="Horizontal">
<StackPanel.ContextMenu>
<ContextMenu>
<MenuItem Header="Delete" Click="OnDeleteClicked" />
</ContextMenu>
</StackPanel.ContextMenu>
</StackPanel>
我需要得到StackPanel
拥有那个的实例ContextMenu
。我已经尝试过了:
private void OnDeleteClicked(object sender, System.Windows.RoutedEventArgs e)
{
FrameworkElement parent = e.OriginalSource as FrameworkElement;
while (!(parent is StackPanel))
{
parent = (FrameworkElement)LogicalTreeHelper.GetParent(parent);
}
}
但是在获取ContextMenu
Popup 父级之后VisualTreeHelper
,它会变为 null,与 相同,在获取StackPanel
. 关于如何做到这一点的任何想法?
谢谢!