UWP ScrollViewer左标题和ItemsPresenter

时间:2017-06-14 09:54:18

标签: xaml uwp winrt-xaml uwp-xaml

我正在尝试在滚动查看器中修复左头,但其高度不等于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

1 个答案:

答案 0 :(得分:3)

我已经测试了您的代码并重现了您的问题。我会将此问题报告给相关团队。目前,修复LeftHeader内容的一种解决方法是,您可以将GridCanvas一起打包,就像下面的代码一样。

<ScrollViewer.LeftHeader >
    <Canvas>
        <Grid Width="190" Height="1000" Background="Red" />
    </Canvas>
</ScrollViewer.LeftHeader>