0

メニューに配置されている場合、ラジオボタンのデフォルトのスタイルをオーバーライドする方法はありますか? しかし、それがウィンドウにある場合は、これまでと同じように見えるはずです. ただし、x:key は使用しません。これは自動的に検出されるはずです。

4

2 に答える 2

0

2 つの解決策があります。

  1. x:Key でスタイルを作成しますが、それを Menu.Resources に配置します。これにより、メニュー項目にのみ適用されます。

  2. ItemsControls (メニューは 1 つ) にはItemContainerStyleSelectorというプロパティがあります。独自のStyleSelectorを作成し、コンテナーの種類に応じてスタイルを設定できます。

于 2012-08-09T11:18:31.660 に答える
0

あなたが方法を知っていれば、それは非常に簡単です:)

<style TargetType="{x:Type Menu}"> 
<Setter Property="Template>
<Setter.Value>
 <ControlTemplate TargetType="{x:Type Menu}">
    <ControlTemplate.Resources>
        <Style Targettype="{x:Type Radiobutton}>
         </Style>
 </ControlTemplate>
      <StackPanel IsItemsHost="True" Width="{TemplateBinding Width}" Height=  {TemplateBinding Height} />
</Setter.Value>
</Setter>
</style>

キーワードの書き込みを制御する必要があります。Visual Studio ではなく、そのように記述するためです。リソースを設定する他の方法が見つからなかったため、メニュー標準をスタックパネルでオーバーライドします。簡単ですが、Varius からの回答がなければ、これは見つかりませんでした。MenuItem についても同じことを行う必要があります。

同じ問題を抱えている他の人々に役立つかもしれないと思うので、これを投稿します。私は長い間検索しましたが、何も見つかりませんでした。

于 2012-08-09T18:01:12.487 に答える