0

ItemsControl から派生したカスタム コントロールを作成していますが、現在問題に直面しています。サンプル レベルでより多くのアイテム手段を使用してコントロールを使用すると、スクロール ビューアーが表示されません (H と V の両方)。以下は、私のカスタム コントロールのコード (単なるサンプル) です。

<!--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>

多くの子を持つサンプルで上記のコントロールを使用しましたが、scrollviewer は表示されません。

私のコントロールを持つサンプル、

<local:Parent Background="Yellow" >
<local:MainChild Margin="20" Background="Green">
    <local:InnerChild Content="Item1" Background="#FF008C00"/>
    <local:InnerChild Content="Item2" Background="#FF008C00"/>
    <local:InnerChild Content="Item3" Background="#FF008C00"/>
    <local:InnerChild Content="Item4" Background="#FF008C00"/>
    <local:InnerChild Content="Item5" Background="#FF008C00"/>
    <local:InnerChild Content="Item6" Background="#FF008C00"/>
    <local:InnerChild Content="Item7" Background="#FF008C00"/>
    <local:InnerChild Content="Item8" Background="#FF008C00"/>
</local:MainChild>
</local:Parent>

このように私はサンプルでそれを使用し、水平方向に拡張しますが、水平スクロール バーは表示されません。

提案は大歓迎ですか?

4

0 に答える 0