Merci pour la solution. Pour ceux qui veulent du XAML explicite, cela pourrait aider:
<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>
Dans mon cas, le menu contextuel est une ressource, donc la liaison pour la visibilité doit utiliser la configuration de liaison RelativeSource Self.
Comme côté, pour le CommandParameter, vous pouvez également passer le DataContext de l'élément sur lequel vous avez cliqué pour ouvrir le menu contextuel. Et pour acheminer les liaisons de commandes vers la fenêtre parente, vous devrez également définir le CommandTarget en conséquence.