滚动ItemsControl

时间:2014-05-27 23:34:02

标签: xaml scrollviewer itemscontrol windows-phone-8.1

我在PivotItem中创建了信息,但由于某些原因,项目不滚动,我尝试滚动但它创建了一种压缩效果而不是向下滚动。

我尝试用ScrollViewer包装它并尝试

<ItemsControl.Template>
    <ControlTemplate>
        <ScrollViewer VerticalScrollBarVisibility="Visible" VerticalScrollMode="Enabled">
            <ItemsPresenter />
        </ScrollViewer>
    </ControlTemplate>
</ItemsControl.Template>

没有运气 - 任何人都可以找出可能出错的地方吗?

            <PivotItem Header="unread">


                    <ItemsControl  ItemsSource="{Binding Categories}" >

                        <ItemsControl.Template>
                            <ControlTemplate>
                                <ScrollViewer VerticalScrollBarVisibility="Visible" VerticalScrollMode="Enabled" BringIntoViewOnFocusChange="True">
                                    <ItemsPresenter />
                            </ScrollViewer>
                        </ControlTemplate>
                        </ItemsControl.Template>
                    <ItemsControl.ItemTemplate>
                        <DataTemplate>

                           // ---


                            </DataTemplate>
                    </ItemsControl.ItemTemplate>
                </ItemsControl>

            </PivotItem>

1 个答案:

答案 0 :(得分:7)

只需将ScrollViewer放在ItemsControl周围,而不是在其中。像这样:

<Pivot TabNavigation="Once">
    <PivotItem Header="unread">
        <ScrollViewer>
            <ItemsControl ItemsSource="{Binding Categories}">
                //Some ItemsControl properties and stuff
            </ItemsControl>
        </ScrollViewer>
    </PivotItem>
</Pivot>

<强>解决

对于读这篇文章的每个人来说 - 问题是Pivot在StackPanel中。并且ScrollViewers不能在StackPanels内部工作,因为这些面板具有无限的高度(或宽度,取决于方向),然后在一切都适合时无需滚动。但是,您可以在ScrollViewer中使用StackPanel。