Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#Listview不滚动,因为它不在屏幕上_C#_Xaml_Listview_Windows Phone 8.1 - Fatal编程技术网

c#Listview不滚动,因为它不在屏幕上

c#Listview不滚动,因为它不在屏幕上,c#,xaml,listview,windows-phone-8.1,C#,Xaml,Listview,Windows Phone 8.1,到目前为止,我一直在努力制作一款windows phone应用程序,除了我遇到的一个非常恼人的问题外,我已经研究了好几天,并且尝试了我能想到的一切 我的布局是这样的:我有 1个主父栅格,3个子栅格1个左栅格1个中栅格1个右栅格 左栅格的左边距为-480,因此在屏幕上不可见 屏幕 右边距的右边距为-370,因此在屏幕上不可见 屏幕 我正在使用grid.projection,所以当我按下按钮时 网格滑入 我用了这个指南 中间网格和左侧网格中都有一个listview,中间的listview滚动而左

到目前为止,我一直在努力制作一款windows phone应用程序,除了我遇到的一个非常恼人的问题外,我已经研究了好几天,并且尝试了我能想到的一切

我的布局是这样的:我有

  • 1个主父栅格,3个子栅格1个左栅格1个中栅格1个右栅格
  • 左栅格的左边距为-480,因此在屏幕上不可见 屏幕
  • 右边距的右边距为-370,因此在屏幕上不可见 屏幕
  • 我正在使用grid.projection,所以当我按下按钮时 网格滑入
我用了这个指南

中间网格和左侧网格中都有一个listview,中间的listview滚动而左侧的listview不滚动。如果我只从左网格中删除-480页边距,左listview将滚动。 因此,我的问题是,一旦listview离开屏幕,它就停止滚动,即使在被调回view时也是如此

请帮忙, 谢谢

这是我正在描述的网格图

更新**

如果我将左侧网格的边距设置为360,使其与中心网格重叠,则当视图位于中心网格上时,列表将滚动,但当我将视图切换到左侧网格时,列表将停止滚动


  <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="*"/>
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto"/>
                    <ColumnDefinition Width="*"/>
                </Grid.ColumnDefinitions>
                <Grid x:Name="MenuGrid" Grid.Column="0">
                    <Canvas x:Name="MainCanvas">
                        <Canvas.Resources>
                            <Storyboard x:Name="OpenAnimation">
                                <DoubleAnimation Duration="0:0:0.5" To="300"
                                                 Storyboard.TargetProperty="(Canvas.Left)"
                                                 Storyboard.TargetName="canvas"/>
                            </Storyboard>
                            <Storyboard x:Name="CloseAnimation">
                                <DoubleAnimation Duration="0:0:0.4" To="0"
                                                 Storyboard.TargetProperty="(Canvas.Left)"
                                                 Storyboard.TargetName="canvas"/>
                            </Storyboard>
                        </Canvas.Resources>
                        <Canvas x:Name="canvas">
                            <Grid Background="White"
                                  Margin="0 0 0 30"
                                  Height="800"
                                  Canvas.Left="-300">
                                <ListView x:Name="TestListView"
                                          Visibility="Visible"
                                          SelectionMode="Single"
                                          ItemTemplate="{StaticResource HomeListViewTemplate}"
                                          ItemsSource="{Binding}"/>
                            </Grid>
                        </Canvas>
                    </Canvas>
                </Grid>
            </Grid>

你能试试这个吗。ListView通常在主屏幕上显示,其高度与其父控件(如网格)相同。但是当它看不见的时候,它没有一个确定的高度。ScrollViewer、Listview等控件除非具有固定高度,否则不会滚动。因此,请尝试在XAML或代码中设置高度。

是否检查网格之间是否重叠?例如,如果设置背景以测试一个网格是否位于另一个网格之上?