継承されたコントロールに継承されたスタイルを使う
CustomToggleButtonはToggleButtonを継承しています:
class CustomToggleButton : ToggleButton {
static CustomToggleButton() {
CustomToggleButton.DefaultStyleKeyProperty.OverrideMetadata(
typeof(CustomToggleButton), new FrameworkPropertyMetadata(typeof(CustomToggleButton)));
}
// 省略
}
ToggleButtonCommonはCustomToggleButton用基本設定のスタイルであり、InGroupToggleButtonスタイルはToggleButtonCommonを継承しています:
<Style x:Key="ToggleButtonCommon"
TargetType="{x:Type local:CustomToggleButton}"
BasedOn="{StaticResource {x:Type ToggleButton}}">
// 省略
</Style>
<Style x:Key="InGroupToggleButton" BasedOn="{StaticResource ToggleButtonCommon}">
<Setter Property="Control.Margin" Value="5 5 5 0" />
</Style>
上記ですと、ToggleButtonCommonスタイルを利用できますが、InGroupToggleButtonは利用できません:
<local:CustomToggleButton Style="{StaticResource InGroupToggleButton}"/>
警告メッセージ:
どうしてもInGroupToggleButtonを使いたいなら、手がありますでしょうか。
