我正在尝试在滚动查看器中修复左头,但其高度不等于itemspresenter。我已经给出了代码片段。
<ItemsControl>
<ItemsControl.Template>
<ControlTemplate>
<ScrollViewer ScrollViewer.HorizontalScrollBarVisibility="Visible"
ScrollViewer.HorizontalScrollMode="Enabled"
HorizontalSnapPointsType="Mandatory">
<ScrollViewer.LeftHeader>
<Grid Width="190" Height="1000" Background="Black"/>
</ScrollViewer.LeftHeader>
<ItemsPresenter HorizontalAlignment="Left"
VerticalAlignment="Top"/>
</ScrollViewer>
</ControlTemplate>
</ItemsControl.Template>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<ItemsStackPanel Orientation="Horizontal" ItemsUpdatingScrollMode="KeepItemsInView">
</ItemsStackPanel>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.Items>
<Grid Width="1536" Height="1000" Background="Yellow"/>
<Grid Width="1536" Height="1000" Background="Red"/>
<Grid Width="1536" Height="1000" Background="Black"/>
</ItemsControl.Items>
</ItemsControl>
您需要向上滚动才能看到gap。
答案 0 :(得分:3)
我已经测试了您的代码并重现了您的问题。我会将此问题报告给相关团队。目前,修复LeftHeader
内容的一种解决方法是,您可以将Grid
与Canvas
一起打包,就像下面的代码一样。
<ScrollViewer.LeftHeader >
<Canvas>
<Grid Width="190" Height="1000" Background="Red" />
</Canvas>
</ScrollViewer.LeftHeader>