0

app.xamlファイルにコントロールスタイルをインポートしました。

<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />

しかし、ContextMenuコントロールには、wpfビルドインスタイルを使用したいのですが、どうすればそれを上書きできますか?

4

1 に答える 1

0

をnullに設定しStyleます。ContextMenu

<Window x:Class="WpfApplication11.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">
    <StackPanel>
        <Button Content="A metro style button" Height="42" HorizontalAlignment="Left" Margin="12,12,0,0" Name="button1" VerticalAlignment="Top" Width="163">
            <Button.ContextMenu>
                <ContextMenu Style="{x:Null}">
                    <MenuItem Header="Item1"/>
                    <MenuItem Header="Item2"/>
                </ContextMenu>
            </Button.ContextMenu>
            </Button>
    </StackPanel>
</Window>

(明示的にではなく)暗黙的にすべてのContextMenuを設定して、デフォルトの非MahAppsスタイルを使用する場合は、次を使用します。

<StackPanel.Resources>
    <Style BasedOn="{x:Null}" TargetType="{x:Type ContextMenu}"/>
</StackPanel.Resources>

スタイルをヌルに設定せずに。

ここに画像の説明を入力してください

StyleをNullに設定します。

ここに画像の説明を入力してください

MenuItemスタイルをデフォルトのスタイルに戻す必要がある場合は、次を使用します。

<StackPanel.Resources>
    <Style BasedOn="{x:Null}" TargetType="{x:Type ContextMenu}"/>
    <Style BasedOn="{x:Null}" TargetType="{x:Type MenuItem}"/>
</StackPanel.Resources>
于 2012-09-09T13:11:29.533 に答える