0

ContextMenu以下の項目を「説明」するためにのみ使用されるWPF に項目を追加しようとしていますが、すべての項目の上に単純なテキスト行を追加する方法がわかりません。テキストは中央に配置され、テキストは通常MenuItemのsのように選択できません。

私はこのようなことを試しました:

<ContextMenu Grid.Row="0" StaysOpen="False">
    <TextBlock Text="Add New:" IsEnabled="False" HorizontalAlignment="Center"/>
    <MenuItem Header="one"/>
    <MenuItem Header="two (horizontal)"/>
    <MenuItem Header="two (vertical)"/>
    <MenuItem Header="three"/>
    <MenuItem Header="four"/>
    <MenuItem Header="six"/>
</ContextMenu>

残念ながら、TextBlock は中央に配置されておらず、選択できません。問題は、a を使用して -property を false にMenuItem設定するとIsEnabled、テキストが通常の黒ではなくなり、中央に配置することもできないことです。

うまくいけば、誰かがここで簡単な解決策を思い付くことができます.私は何も見つかりませんでした.

4

1 に答える 1

2

menuitems の SubMenu アイテムを作成することをお勧めします。このようにして、menuitems はその下にあるすべての submenuitems をグループ化します。

純粋にmvvmを使用して、menuitemとsubmenuitemsでコンテキストメニューを作成するという答えを出しました。こちらから参照できます。

ハイパーリンクを表示するドロップダウン リストを含む WPF コンテキスト メニュー

またはあなたが言及した場合。私はこれを試しました:

     <ContextMenu StaysOpen="False">
                        <MenuItem Header="Add New:" IsEnabled="False" HorizontalAlignment="Center">
                            <MenuItem.Style>
                                <Style TargetType="{x:Type MenuItem}">
                                    <Style.Triggers>
                                        <Trigger Property="IsEnabled" Value="False">
                                            <Setter Property="Foreground" Value="Black"/>
                                        </Trigger>
                                    </Style.Triggers>
                                </Style>

                            </MenuItem.Style>
                        </MenuItem>
                        <MenuItem Header="one"/>
                        <MenuItem Header="two (horizontal)"/>
                        <MenuItem Header="two (vertical)"/>
                        <MenuItem Header="three"/>
                        <MenuItem Header="four"/>
                        <MenuItem Header="six"/>
                    </ContextMenu>

そして、私は次のようなメニューを手に入れました ここに画像の説明を入力

新規追加: 選択不可で、マウスオーバーしても強調表示されません。

それが役に立てば幸い。ありがとう

于 2013-09-01T12:38:12.587 に答える