5

私が取り組んでいるWPFアプリがあります。「肉」をまだ実装していないので、現時点ではすべてが非常に単純です。プロトタイプで一部のユーザーを悩ませていることの 1 つは、メニューが win フォームで使用されていた方法から「後方」にドロップダウンすることです。

ここに画像の説明を入力

私が探しているのは、メニューボックスの左端が親メニューの「ファイル」という単語の左端に並ぶことです。いくつか検索を行っていますが、適切なキーワードをヒットしているとは思いません。違いがあるかどうかはわかりませんが、Galasoft の MVVMLight ライブラリも使用しています。

私の質問は、メニューの左端を「ファイル」テキストの左端に揃えるにはどうすればよいですか? お早めにどうぞ!

    <Menu Grid.Row="0" Grid.Column="0">
        <MenuItem Header="_File" >
            <MenuItem Header="EnableWatcher" IsCheckable="True" IsChecked="{Binding WatcherEnabled}" />
            <Separator />
            <MenuItem Header="_Exit" />
        </MenuItem>
    </Menu>

編集: xaml ファイル内のすべてのコードは次のとおりです。

    <Window x:Class="DonkeySuite.Watcher.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:ViewModel="clr-namespace:DonkeySuite.Watcher.ViewModel"
    Title="MainWindow" Height="350" Width="525" Icon="/DonkeySuite.Watcher;component/BlueFolder.ico">
<Window.DataContext>
    <ViewModel:MainViewModel />
</Window.DataContext>
<!--<i:Interaction.Triggers>
    <i:EventTrigger EventName="Closing">
        <Command:EventToCommand Command="{Binding SaveSettings}"/>
    </i:EventTrigger>
</i:Interaction.Triggers>-->
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="30" />
        <RowDefinition Height="30" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>

    </Grid.ColumnDefinitions>
    <Menu Grid.Row="0" Grid.Column="0">
        <MenuItem Header="_File" >
            <MenuItem Header="EnableWatcher" IsCheckable="True" IsChecked="{Binding WatcherEnabled}" />
            <Separator />
            <MenuItem Header="_Exit" />
        </MenuItem>
    </Menu>

    <Grid Grid.Column="0" Grid.Row="1">
        <Grid.RowDefinitions>

        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="60" />
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="100" />
        </Grid.ColumnDefinitions>
        <TextBlock Grid.Column="0" HorizontalAlignment="Right" VerticalAlignment="Center">Directory:</TextBlock>
        <TextBox Grid.Column="1" Text="{Binding WatchDirectory, Mode=TwoWay}" VerticalAlignment="Center"></TextBox>
        <Button Grid.Column="2" Content="Browse" Command="{Binding BrowseForDirectory}" Height="24" Margin="5, 0, 15, 0">
        </Button>
    </Grid>
</Grid>

4

1 に答える 1

21

私はついにそれを理解しました。問題を解決する Microsoft のリンクを見つけました。私のコンピューターにワコムのタブレットがあるため、どうやらこれが起こっていたようです。WPFとはまったく関係ありません。

http://answers.microsoft.com/en-us/windows/forum/windows_7-desktop/menus-are-being-right-aligned/cb94ff1e-5c3f-4535-944a-ae5632149a0d

リンクが消えてしまった場合に備えて、詳細を簡単に説明します。

Windows キー + Rを押して、 [ファイル名を指定して実行] ダイアログ ボックスを表示します。Open 行に、次のテキスト行をコピーして貼り付けます。

shell:::{80F3F1D5-FECA-45F3-BC32-752C152E456E}

OKを押します。

これにより、Tablet PC 設定の構成ダイアログが開始されます (Tablet PC がない場合でも)。

その他のタブを選択します。

[利き手] セクションで、[左利き] オプションにチェック マークを付け ます。

[ OK]をクリックします。

于 2014-08-03T22:19:05.807 に答える