0

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 プロパティが機能していません。

どんな提案でも大歓迎です。

4

1 に答える 1