Grazie per la soluzione. Per coloro che desiderano XAML esplicito Questo potrebbe aiutare:
<Window.Resources>
<BooleanToVisibilityConverter x:Key="booleanToVisibilityConverter" />
</Window.Resources>
<ContextMenu x:Key="innerResultsContextMenu">
<MenuItem Header="Open"
Command="{x:Static local:Commands.AccountOpened}"
CommandParameter="{Binding Path=PlacementTarget.DataContext, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ContextMenu}}}"
CommandTarget="{Binding Path=PlacementTarget, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ContextMenu}}}"
Visibility="{Binding Path=IsEnabled, RelativeSource={RelativeSource Self}, Mode=OneWay, Converter={StaticResource booleanToVisibilityConverter}}"
/>
</ContextMenu>
Nel mio caso, il menu di scelta rapida è una risorsa, in modo che il legame per la visibilità deve utilizzare l'impostazione RelativeSource Sé vincolante.
Come lato, per il CommandParameter, è anche possibile passare il DataContext dell'elemento su cui si è fatto clic per aprire il menu di scelta rapida. E per instradare i collegamenti dei comandi alla finestra principale, sarà necessario impostare anche il CommandTarget di conseguenza.
Ohhhh - così semplice! Trucco eccellente! – sergtk