ItemsControl から派生したカスタム コントロールを作成していますが、現在問題に直面しています。サンプルでコントロールの背景を設定しようとすると、機能しません。以下は、コントロールのコードです。
<!--Parent-->
<Style TargetType="{x:Type local:Parent}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:Parent}">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<ScrollViewer>
<ItemsPresenter/>
</ScrollViewer>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!--MainChild-->
<Style TargetType="{x:Type local:MainChild}">
<Setter Property="Height" Value="430"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:MainChild}">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<ItemsPresenter />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!--InnerChild-->
<Style TargetType="{x:Type local:InnerChild}">
<Setter Property="Width" Value="100"/>
<Setter Property="Height" Value="100"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:InnerChild}">
--------------------------------------
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
カスタム コントロールのベース コントロールは
Parent-ItemsControl MainChild-ItemsControl InnerChild-ContentControl
私のサンプルでは、背景を次のように設定しようとしました。
<local:Parent Background="Yellow" >
<local:MainChild Background="Green">
<local:InnerChild Content="Item1" Background="#FF008C00"/>
</local:MainChild>
</local:Parent>
ItemsControl から派生した両方の要素で、background プロパティが機能していません。
どんな提案でも大歓迎です。