Xaml WinRT Listview滚动在网格中不工作

Xaml WinRT Listview滚动在网格中不工作,xaml,listview,windows-runtime,grid,windows-phone-8.1,Xaml,Listview,Windows Runtime,Grid,Windows Phone 8.1,好的,我有一个父网格,其中有三个其他网格。问题是我在最后一个列表中有一个Listview。在此网格中,listview项目滚动不起作用。但是,如果我在中间网格中移动相同的ListVIEW,滚动就可以按我的意愿工作。我错过了什么?如何使此Listview滚动在最后一个网格中工作。下面是代码片段。短暂性脑缺血发作 <Grid x:Name="Container" Background="Transparent"> <VisualStateManager.VisualSta

好的,我有一个父网格,其中有三个其他网格。问题是我在最后一个列表中有一个Listview。在此网格中,listview项目滚动不起作用。但是,如果我在中间网格中移动相同的ListVIEW,滚动就可以按我的意愿工作。我错过了什么?如何使此Listview滚动在最后一个网格中工作。下面是代码片段。短暂性脑缺血发作

<Grid  x:Name="Container" Background="Transparent">
    <VisualStateManager.VisualStateGroups>
        <VisualStateGroup x:Name="HambugerMenuStateGroup">
            <VisualStateGroup.Transitions>
                <VisualTransition GeneratedDuration="0:0:0.3">
                    <VisualTransition.GeneratedEasingFunction>
                        <CubicEase EasingMode="EaseInOut"/>
                    </VisualTransition.GeneratedEasingFunction>
                </VisualTransition>
            </VisualStateGroup.Transitions>
            <VisualState x:Name="HamburgerCloseState"/>
            <VisualState x:Name="HamburgerOpenState">
                <Storyboard>
                    <DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.RotationX)" Storyboard.TargetName="LayoutRoot" d:IsOptimized="True"/>
                    <DoubleAnimation Duration="0" To="380" Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.GlobalOffsetX)" Storyboard.TargetName="LayoutRoot" d:IsOptimized="True"/>
                    <DoubleAnimation Duration="0" To="480" Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.GlobalOffsetX)" Storyboard.TargetName="HamburerPane" d:IsOptimized="True"/>
                </Storyboard>
            </VisualState>
        </VisualStateGroup>
        <VisualStateGroup x:Name="ManualDataPanelStateGroup">
            <VisualStateGroup.Transitions>
                <VisualTransition GeneratedDuration="0:0:0.3">
                    <VisualTransition.GeneratedEasingFunction>
                        <CubicEase EasingMode="EaseInOut"/>
                    </VisualTransition.GeneratedEasingFunction>
                </VisualTransition>
            </VisualStateGroup.Transitions>
            <VisualState x:Name="ManualDataPanelCloseState"/>
            <VisualState x:Name="ManualDataPanelOpenState">
                <Storyboard>
                    <DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.GlobalOffsetY)" Storyboard.TargetName="LayoutRoot" d:IsOptimized="True"/>
                    <DoubleAnimation Duration="0" To="-380" Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.GlobalOffsetX)" Storyboard.TargetName="LayoutRoot" d:IsOptimized="True"/>
                    <DoubleAnimation Duration="0" To="-460" Storyboard.TargetProperty="(UIElement.Projection).(PlaneProjection.GlobalOffsetX)" Storyboard.TargetName="ManualDataPane" d:IsOptimized="True"/>
                </Storyboard>
            </VisualState>
        </VisualStateGroup>
    </VisualStateManager.VisualStateGroups>

    <Grid x:Name="HamburerPane"
          Margin="-480,0,0,0">
        <Grid.Projection>
            <PlaneProjection/>
        </Grid.Projection>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <StackPanel Grid.Row="0" Width="400" HorizontalAlignment="Left">
            <TextBlock>Hello</TextBlock>
        </StackPanel>
    </Grid>

    <Grid x:Name="LayoutRoot">
        <Grid.Projection>
            <PlaneProjection/>
        </Grid.Projection>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"></RowDefinition>
            <RowDefinition Height="*"></RowDefinition>
            <RowDefinition Height="50"></RowDefinition>
        </Grid.RowDefinitions>

        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="25"></ColumnDefinition>
            <ColumnDefinition Width="*"></ColumnDefinition>
            <ColumnDefinition Width="Auto"></ColumnDefinition>

        </Grid.ColumnDefinitions>
        <maps:MapControl Grid.RowSpan="3" Grid.ColumnSpan="3" x:Name="MapControl"  HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >
            <!--<maps:MapItemsControl ItemTemplate="{StaticResource MapControlDataTemplate}" ItemsSource="{Binding}" >
            </maps:MapItemsControl>-->
        </maps:MapControl>

        <Slider x:Name="RotationSlider" Grid.Row="0" Grid.Column="1" Maximum="360" Value="{Binding Heading, ElementName=MapControl, Mode=TwoWay}" ></Slider>
        <Slider x:Name="PitchSlider" Grid.Row="1" Grid.Column="2" Orientation="Vertical" Maximum="65" Value="{Binding DesiredPitch, ElementName=MapControl, Mode=TwoWay}" ></Slider>
    </Grid>


    <Grid x:Name="ManualDataPane"
          Margin="0,0,-480,0">
        <Grid.Projection>
            <PlaneProjection/>
        </Grid.Projection>
        <ListView ItemsSource="{Binding Origins}" Height ="{Binding ElementName=ManualDataPane, Path=ActualHeight}" Width="400" HorizontalAlignment="Right">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <expaControl:ExpanderControl Width="400"
                    ItemsSource="{Binding Intersections}"
                    HeaderTemplate="{StaticResource CustomHeaderTemplate}"
                    ItemTemplate="{StaticResource CustomItemTemplate}" IsExpanded="False" Style="{StaticResource ExpanderControlStyle}" ExpanderTemplate="{StaticResource CustomExpanderTemplate}"/>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>

    </Grid>

</Grid>

你好

这三个轴网位于父轴网内。grid.projection仅用于设置网格动画,就像汉堡包菜单一样。没有问题。

网格所在行的行定义是自动的。如果一个listview被放置在一个带有auto的行中,它将不会滚动,您必须使用1,2*etc或固定高度

对于网格所在的行,网格的行定义是自动的。如果一个listview被放置在一个带有auto的行中,它将不会滚动,您必须使用1,2*etc或固定高度

我最近发现,当我将ListView放入带有
的容器中时,滚动停止工作。关闭平面投影后,ListView可以再次滚动。这是你的问题吗?目前我自己也在寻找解决方案。

我最近发现,当我将ListView放入带有
的容器中时,滚动停止工作。关闭平面投影后,ListView可以再次滚动。这是你的问题吗?目前我自己也在寻找解决方案。

您能在运行时检查ListView的实际亮度吗?而且,这种高度绑定可能会导致问题。它应该和它的父事件具有相同的高度,没有ElementName绑定。您能在运行时检查ListView的实际亮度吗?而且,这种高度绑定可能会导致问题。它应该和它的父事件具有相同的高度,没有ElementName绑定。我在网格上设置了固定高度…它不工作我在网格上设置了固定高度…它不工作