我正在创建一个从 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>
我在我的示例中使用了上面的控件,有很多孩子,但没有显示滚动查看器。
样品由我控制,
<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>
像这样我在示例中使用它并且它水平延伸,但没有显示水平滚动条。
欢迎任何建议?