Меню WPF расположены неправильно - PullRequest
3 голосов
/ 07 января 2011

Я с удовольствием писал свою новую программу, и она работала как шарм.Это было просто и не нуждалось в меню сначала, пока я не решил добавить больше функциональности, поэтому меню было необходимо.BAAM!Изображение ниже объясняет мою проблему лучше.

image

Заметили, как выровнено меню файла?Приложение на картинке - это тестовое приложение, чтобы посмотреть, добавила ли я что-то в другое приложение, которое могло вызвать проблему.Хотя проект был совершенно новым, он все же появился.Я не могу понять, почему это происходит.Кто-нибудь когда-либо испытывал это?Элементы меню с заданными командами также по некоторым причинам отключаются.Unset MenuItems нет.Вы можете видеть, что пункт меню «Выход», показанный выше, отключен.В приведенном ниже коде для него установлено значение «ApplicationCommands.Close».

Кстати, я использую Windows 7 x64 и пишу приложение WPF для Visual Studio 2010. Рука помощи будет очень благодарна!Заранее спасибо!

<Window x:Class="TestDrive.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Menu Height="23" HorizontalAlignment="Left" Name="menu1" VerticalAlignment="Top" Width="200">
            <MenuItem Header="File">
                <MenuItem Command="ApplicationCommands.Close" Header="Exit" />
            </MenuItem>
            <MenuItem Header="Edit" />
        </Menu>
    </Grid>
</Window>

Ответы [ 2 ]

1 голос
/ 29 ноября 2013

Я знаю, что это старый пост, но проблема похожа на ту, что была у меня несколько недель назад, и я решил ее по этому маршруту.

В Windows есть настройка Touch / TabletPCs, в которую можно заполнитьбудь ты левша или правша.Это определяет расположение контекстного меню, чтобы убедиться, что ваша рука не закрывает меню в случае устройств с сенсорным экраном, вызывающих проблему.

Зайдите в Панель управления -> Оборудование и звуки -> Планшетные ПК.И выберите левой рукой на третьей вкладке под названием «Другое».Это позволит расположить меню с другой стороны меню.

EDITED

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

1 голос
/ 07 января 2011

Относительно команд, приводящих к отключению пунктов меню, что ожидается, если нет соответствующей привязки команды.Что касается проблемы выравнивания, вы пытались не устанавливать явные размеры в вашем XAML?Например:

<Window x:Class="TestDrive.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow">
    <DockPanel>
        <Menu DockPanel.Dock="Top">
            <MenuItem Header="File">
                <MenuItem Command="ApplicationCommands.Close" Header="Exit" />
            </MenuItem>
            <MenuItem Header="Edit" />
        </Menu>
    </DockPanel>
</Window>
...