ContextMenu в WPF слишком широк - PullRequest
       0

ContextMenu в WPF слишком широк

3 голосов
/ 25 ноября 2010

У меня проблема с моим ContextMenu в WPF.Меню слишком широкое - это ширина элементов, которые я надеваю, плюс около пятидесяти сотен пикселей.Поэтому, когда вы открываете меню, вместо того, чтобы быть чистым списком опций или кнопок, с каждой стороны появляется множество свободного пространства.Как я могу это исправить?

Редактировать: Вот мой XAML для меню:

<ContextMenu Padding="0">
    <Button Content="Close Tab" Height="23" Name="closetabbutton" Width="75" Margin="0,0,0,0" Click="closetabbutton_Click" />
    <TextBox Height="23" Name="renamebox" Width="75" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ClipToBounds="True" TextChanged="renamebox_TextChanged" />
    <Button Content="Close Menu" Height="23" Name="closemenubutton" Width="75" Margin="0,0,0,0" Click="closemenubutton_Click" />
</ContextMenu>

1 Ответ

2 голосов
/ 25 ноября 2010

Пространство зарезервировано для значков слева и для ввода текста жеста (например, Ctrl + C) справа.Это сделано специально.

Если вы хотите изменить это, вам придется создать свой собственный стиль ContextMenu.Вот пример того, как это сделать:

http://www.dev102.com/2008/06/20/how-to-create-a-wpf-custom-context-menu/

Обновление

В дополнение к моему комментарию к вопросу, MenuItems обычно используется там, гдеиспользовали кнопки.Например:

<Grid.ContextMenu>
    <ContextMenu>
        <MenuItem Name="mnuClose" Header="Close tab" InputGestureText="Ctrl+C" />
        <MenuItem Name="mnuRename">
            <MenuItem.Header>
                <TextBox Name="txtRename" Width="100" />
            </MenuItem.Header>
        </MenuItem>
    </ContextMenu>
</Grid.ContextMenu>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...