У меня есть 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 он получает значение null, то же самое с VisualTreeHelper
, он получает значение null до получения StackPanel
. Любая идея о том, как это сделать?
Спасибо!