ListView xaml uwp中缺少垂直滚动

ListView xaml uwp中缺少垂直滚动,xaml,win-universal-app,Xaml,Win Universal App,我是UWP新手,需要使用SplitView进行导航抽屉,因此我的基本布局结构如下所述。问题是,我没有列表项的垂直滚动,可能我错过了一些参数,任何帮助都将不胜感激 <SplitView x:Name="MySplitView" DisplayMode="CompactOverlay" IsPaneOpen="True" CompactPaneLength="50" OpenPaneLength="280"> <!--naviga

我是UWP新手,需要使用
SplitView
进行导航抽屉,因此我的基本布局结构如下所述。问题是,我没有列表项的垂直滚动,可能我错过了一些参数,任何帮助都将不胜感激

 <SplitView
    x:Name="MySplitView"
    DisplayMode="CompactOverlay"
    IsPaneOpen="True"
    CompactPaneLength="50"
    OpenPaneLength="280">

    <!--navigation drawer-->
    <SplitView.Pane>
        <StackPanel
            Background="Gray">

            <StackPanel>

                <ListView
                    x:Name="DrawerListOptions"
                    SelectionChanged="MySelectionChanged"
                    SelectionMode="Single"
                    ScrollViewer.VerticalScrollBarVisibility="Auto">

                    <ListView.ItemTemplate>
                        <DataTemplate>

                                    <TextBlock
                                        Text="{Binding Title}"
                                        FontSize="18"
                                        Margin="5,0,0,0" />


                        </DataTemplate>
                    </ListView.ItemTemplate>
                </ListView>

            </StackPanel>

        </StackPanel>

    </SplitView.Pane>

    <!--page stuff-->
    <SplitView.Content>
         <!--page code-->
    </SplitView.Content>

</SplitView>

首先,将
StackPanel
更改为
Grid

    <SplitView x:Name="MySplitView"
               PaneBackground="Gray"
               DisplayMode="CompactOverlay"
               IsPaneOpen="True"
               CompactPaneLength="50"
               OpenPaneLength="280">

        <!--navigation drawer-->
        <SplitView.Pane>
            <Grid>
                <ListView x:Name="DrawerListOptions"
                            SelectionChanged="MySelectionChanged"
                            SelectionMode="Single"
                            ScrollViewer.VerticalScrollBarVisibility="Auto">
                        <ListView.ItemTemplate>
                            <DataTemplate>
                                <TextBlock Text="{Binding Title}"
                                           FontSize="18"
                                           Margin="5,0,0,0" />
                            </DataTemplate>
                        </ListView.ItemTemplate>
                    </ListView>
            </Grid>

        </SplitView.Pane>

        <!--page stuff-->
        <SplitView.Content>
            <!--page code-->
        </SplitView.Content>

    </SplitView>
工作原理:


StackPanel已经有了一个scrollviewer。只需在listView中设置高度,滚动条就会出现。如果没有高度,listview无法理解它在屏幕上的位置。这样您就不需要使用网格。这对我有用

是的,它可以工作,但如果我需要将
按钮(toogle按钮)放在顶部,那么
列表视图
我必须使用此
堆栈面板
按所需顺序放置元素,因为<代码>网格> /COD>只把我的按钮放在中间,XAML不提供任何<代码> <代码> > PARAMAS] Vagif Abilov提到,这种方法不能按预期工作,如果删除<代码>格式化.RooReals< < /Cord>滚动作品,但请重写Button固定它,所以删除<代码> Gr.Road定义< /Cord>,并设置<代码>空白=“0,我的按钮,0,0“
转到我的‘ListView’,现在列表位于按钮下方,这不是最佳解决方案,但正在发挥作用。无论如何,我会把你的答案标为正确的。@VasileDoe我不知道你做错了什么,但我没有任何问题。我更新了答案,并放了一张对不起的照片。如何创建GIF动画?记住一件简单的事情,堆栈面板阻止滚动。
        <SplitView.Pane>
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto"/>
                    <RowDefinition Height="*"/>
                </Grid.RowDefinitions>

                <StackPanel>
                    <!--Other elements-->
                </StackPanel>

                <ListView x:Name="DrawerListOptions"
                          Grid.Row="1"
                          SelectionChanged="MySelectionChanged"
                          SelectionMode="Single"
                          ScrollViewer.VerticalScrollBarVisibility="Visible">
                        <ListView.ItemTemplate>
                            <DataTemplate>
                                <TextBlock Text="{Binding Title}"
                                           FontSize="18"
                                           Margin="5,0,0,0" />
                            </DataTemplate>
                        </ListView.ItemTemplate>
                    </ListView>
            </Grid>

        </SplitView.Pane>