ContextMenu в другом ContextMenu - PullRequest
       24

ContextMenu в другом ContextMenu

0 голосов
/ 03 октября 2011

Можно ли поместить ContextMenu в другое ContextMenu?У меня есть код для отображения ContextMenu по нажатию кнопки и события click, прикрепленного к этому ContextMenu.Теперь я хочу отобразить другое ContextMenu по щелчку правой кнопкой мыши любого элемента в главном ContextMenu.Я попробовал следующий код, но он не работает:

<Button.ContextMenu>
    <ContextMenu Name="TestContextMenu" >
        <MenuItem Header="Item 1" StaysOpenOnClick="True" />
        <MenuItem Header="Item 2" StaysOpenOnClick="True" />
        <MenuItem Header="Item 3" StaysOpenOnClick="True" />
        <MenuItem Header="Item 4" StaysOpenOnClick="True" />
        <ContextMenu.ContextMenu>
            <ContextMenu>
                <MenuItem Header="Remove from List" Click="subMenuRemove_Click" />
            </ContextMenu>
        </ContextMenu.ContextMenu>
    </ContextMenu>
</Button.ContextMenu>

Даже добавление ContextMenu к каждому пункту меню (MenuItem.ContextMenu) не работает.

Ответы [ 2 ]

2 голосов
/ 04 октября 2011

Кто бы даже попытался щелкнуть правой кнопкой мыши пункт меню и ожидать, что у него будет контекстное меню?Возможно, именно поэтому это невозможно, в любом случае, я настоятельно рекомендую не делать этого, поскольку это нарушает общие соглашения.

Возможно, вместо этого добавьте диалог конфигурации меню или один элемент MenuItem в конце, который позволяет удалить элемент.

0 голосов
/ 03 октября 2011

Попробуйте это:

<MenuItem Header="Item 4" StaysOpenOnClick="True">

        <MenuItem.ContextMenu>
            <ContextMenu>
                <MenuItem Header="Remove from List" Click="subMenuRemove_Click" />
            </ContextMenu>
        </MenuItem.ContextMenu>
</MenuItem>
...