Сохранять DataGrid IsSelectionActive при открытии ContextMenu в WPF?

У меня есть DataGrid, который имеет стиль для IsSelectionActive; однако, как только ContextMenuоткрывается, сетка теряет IsSelectionActive, и пользователю кажется, что контекстное меню каким-то образом приняло выбор и может запутать пользователя.

Есть ли способ сохранить IsSelectionActiveпри открытии контекстного меню?

<ControlTemplate.Triggers>
    <MultiTrigger>
        <MultiTrigger.Conditions>
            <!--<Condition Property="Selector.IsFocused" Value="True" />-->
            <Condition Property="IsSelected" Value="True" />
        </MultiTrigger.Conditions>

        <Setter Property="Background" Value="Red" />
    </MultiTrigger>

    <MultiTrigger>
        <MultiTrigger.Conditions>
            <Condition Property="Selector.IsFocused" Value="False" />
            <Condition Property="IsSelected" Value="False" />
        </MultiTrigger.Conditions>

        <Setter Property="Background" Value="Green" />
    </MultiTrigger>

    <MultiTrigger>
        <MultiTrigger.Conditions>
            <Condition Property="Selector.IsFocused" Value="False" />
            <Condition Property="IsSelected" Value="True" />
        </MultiTrigger.Conditions>

        <Setter Property="Background" Value="Blue" />
    </MultiTrigger>
9
задан Dave Clemmer 3 January 2013 в 19:16
поделиться