Jak uzyskać dostęp do formantu z menu kontekstowego ContextMenu poprzez drzewo wizualne?

To wydaje się być dość popularnym tematem, ale ...

Mam następujący XAML:

<internal:MyCommandObject x:Name="CommandModel"/>

<Button DockPanel.Dock="Bottom" Command="{Binding DoAction, ElementName=CommandModel}">
    <Button.ContextMenu>
        <ContextMenu DataContext="{Binding PlacementTarget, RelativeSource={RelativeSource Self}}">
            <MenuItem Command="{Binding DoAction, ElementName=CommandModel}"/>
        </ContextMenu>
    </Button.ContextMenu>
    Click Me
</Button>

Teraz,MyCommandObject jest kontrolką, która udostępnia dynamiczne polecenia ze swojegoDataContext. Wiesz, co będzie dalej. :)

Zasadniczo polecenie przycisku działa doskonale - po kliknięciu goDoAction polecenie naMyCommandObject zostaje perfekcyjnie wykonany. Jednak polecenie w menuitem nie zostanie wykonane. Próbowałem różnych sztuczek, takich jak ustawianie menu kontekstowegodatacontext byćplacementTarget więc może przejść przez wizualne drzewo kontrolek i tak dalej, ale nic się nie dzieje.

Jakie szczególne wyrównanieRelativeSource iCommandTarget runy czy muszę to zrobić?

questionAnswers(1)

yourAnswerToTheQuestion