Tengo un ContextMenu
así:Obtener propietario del menú de contexto en el código
<StackPanel Orientation="Horizontal">
<StackPanel.ContextMenu>
<ContextMenu>
<MenuItem Header="Delete" Click="OnDeleteClicked" />
</ContextMenu>
</StackPanel.ContextMenu>
</StackPanel>
Y necesito para obtener la instancia de la StackPanel
al cual pertenece ese ContextMenu
. Ya he intentado esto:
private void OnDeleteClicked(object sender, System.Windows.RoutedEventArgs e)
{
FrameworkElement parent = e.OriginalSource as FrameworkElement;
while (!(parent is StackPanel))
{
parent = (FrameworkElement)LogicalTreeHelper.GetParent(parent);
}
}
Pero después de conseguir el padre ContextMenu
emergente, se hace nula, lo mismo con la VisualTreeHelper
, se pone a null antes de conseguir el StackPanel
. ¿Alguna idea de como hacerlo?
Gracias!