Danke für die Lösung. Für diejenigen, expliziten XAML könnte dies helfen:
<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>
In meinem Fall das Kontextmenü ist eine Ressource, so dass für die Sichtbarkeit der Bindung muss den Relativeselbstbindungsaufbau verwenden.
Als Side für CommandParameter übergeben Sie möglicherweise auch den DataContext des Elements, auf das geklickt wurde, um das Kontextmenü zu öffnen. Um die Befehlsbindungen an das übergeordnete Fenster weiterzuleiten, müssen Sie auch das CommandTarget entsprechend einstellen.
Ohhhh - so einfach! Ausgezeichneter Trick! – sergtk