基本的にコンテンツコントロールであるカスタムコントロールがあります
public class PromoAlarmBox : ContentControl
{
static PromoAlarmBox()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(PromoAlarmBox), new FrameworkPropertyMetadata(typeof(PromoAlarmBox)));
}
}
それを含むユーザーコントロールに追加します
<controls:PromoAlarmBox Grid.Row="9" Grid.Column="1" />
含まれているユーザーコントロールリソースにスタイルを追加すると、すべて正常に動作します
<UserControl.Resources>
<Style TargetType="{x:Type controls:PromoAlarmBox}">
<Setter Property="ContentControl.ContentTemplate">
<Setter.Value>
<DataTemplate >
<Rectangle Fill="Blue" Stroke="Black" Height="20" Width="20"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
しかし、カスタム コントロール プロジェクトの generic.xaml に追加すると、何も表示されません。
<Style TargetType="{x:Type local:PromoAlarmBox}">
<Setter Property="ContentControl.ContentTemplate">
<Setter.Value>
<DataTemplate >
<Rectangle Fill="Blue" Stroke="Black" Height="20" Width="20"/>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
スタイルがgeneric.xamlで定義されている同じプロジェクトに他のコントロールがあるため、スタイルが適用されていることはわかっています。