0

次のように、セパレータの間にいくつかのサブメニューが配置されたメニューがあります。

<Menu x:Name="mainMenu">

    <MenuItem x:Name="mainSubMenu" Header="Menus">

        <MenuItem x:Name="topMenuItem" Header="TopSubMenu">
        <MenuItem/>
        <MenuItem/>
        <MenuItem/>
    </MenuItem>

        <Separator/>

    <MenuItem x:Name="middleMenuItem" Header="MiddleSubMenu">
        <MenuItem Header="MI1"/>
        <MenuItem Header="MI2"/>
        <MenuItem Header="MI3"/>
        <MenuItem Header="MI4"/>
    </MenuItem>

    <Separator/>

        <MenuItem x:Name="bottomMenuItem" Header="Bottom" />
    </MenuItem>

</Menu>

さまざまなメニュー項目をスクロールできる中央のサブメニューのスタイルを作成しました。上部と下部のサブメニューにデフォルトのスタイルを設定したいと思います。それ、どうやったら出来るの?さまざまなサブメニューにさまざまなスタイルを設定するにはどうすればよいですか?ありがとう!

4

2 に答える 2

1

次のようなスタイルリソースの使用を検討してください。

<Window x:Class="WpfApplication1.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">
    <Window.Resources>
        <Style x:Key="myStyleKey" TargetType="MenuItem">
            <!-- Your style definition goes here -->
        </Style>
    </Window.Resources>
    <Grid>
        <Menu x:Name="mainMenu">

            <MenuItem x:Name="mainSubMenu" Header="Menus">

                <MenuItem x:Name="topMenuItem" Header="TopSubMenu">
                    <MenuItem/>
                    <MenuItem/>
                    <MenuItem/>
                </MenuItem>

                <Separator/>

                <!-- Set style here -->
                <MenuItem Style="{StaticResource myStyleKey}" x:Name="middleMenuItem" Header="MiddleSubMenu">
                    <MenuItem Header="MI1"/>
                    <MenuItem Header="MI2"/>
                    <MenuItem Header="MI3"/>
                    <MenuItem Header="MI4"/>
                </MenuItem>

                <Separator/>

                <MenuItem x:Name="bottomMenuItem" Header="Bottom" />
            </MenuItem>

        </Menu>
    </Grid>
</Window>

このパターンは、すべてのメニュー項目に個別に使用できます。

于 2012-07-20T18:34:45.027 に答える
0

はい、スタイルにキーを付け、そのキーで各MenuItemに必要なスタイルを指定します。

例えば

     <Style x:Key="MyStyle1" TargetType="{x:Type MenuItem}">
        <blahblahblah/>
     </Style>

     <MenuItem Style="{StaticResource MyStyle1}">

HTH!

ジャネネ

于 2012-07-20T18:36:05.243 に答える