1

ほとんどの人と同じように、私は自分MenuItemのアイコンを使用しています。これらの画像をすべて16x16ピクセルのアイコンとして表示したいと思います。ほとんどのソース画像はその形式であり、32x32の場合もありますが、すべてがわずかに拡大縮小されています(18x18程度)。

私はこれを試しましたが、アイコンには影響しません(これがひどいコーディングである場合は、私に通知してください。私はxamlを初めて使用します):

<Style TargetType="MenuItem">
    <Setter Property="Padding" Value="6,3" />
    <Setter Property="Height" Value="22" />
    <Setter Property="ItemContainerStyle">
        <Setter.Value>
            <Style TargetType="Image">
                <Setter Property="Height" Value="16" />
                <Setter Property="Width" Value="16" />
            </Style>
        </Setter.Value>
    </Setter>
</Style>
4

2 に答える 2

2

TargetType="Image"メニューのプロパティにスタイルを設定するItemContainerStyleことはあまり意味がないと思います。を設定する必要はまったくありませんItemContainerStyle。各MenuItemの高さを固定するスタイルを使用するだけです。アイコン画像は自動的に拡大縮小されます。

<Style TargetType="MenuItem">
    <Setter Property="Height" Value="22" />
</Style>

次に、Iconプロパティを画像に設定します。おそらく、画像のマージンに小さな値を設定します。

<MenuItem Header=... >
    <MenuItem.Icon>
        <Image Margin="2" Source=... />
    </MenuItem.Icon>
</MenuItem>

画像サイズを特定の値に固定する必要がある場合は、画像WidthHeightプロパティを設定するだけです。

<MenuItem Header=... >
    <MenuItem.Icon>
        <Image Width="16" Height="16" Source=... />
    </MenuItem.Icon>
</MenuItem>
于 2012-10-05T19:23:55.800 に答える
0

かなり長い間ブラウジングした後、私はキーワード「ネストされたスタイル」に出くわしました。そして、それはいくつかのグーグル検索の後にhttps://stackoverflow.com/a/4078275/653473をもたらしました。

<Style TargetType="MenuItem">
    <Setter Property="Padding" Value="6,3" />
    <Setter Property="Height" Value="22" />
    <Style.Resources>
        <Style TargetType="Image">
            <Setter Property="Height" Value="16" />
            <Setter Property="Width" Value="16" />
        </Style>
    </Style.Resources>
</Style>
于 2012-10-06T07:54:43.270 に答える