【问题标题】:WinRT Listview Scrolling Not Working in GridWinRT Listview 滚动在网格中不起作用
【发布时间】:2015-07-23 17:49:46
【问题描述】:

好的,所以我有一个父网格,其中包含其他三个网格。问题是我在最后一个里面有一个 Listview。在此网格中,列表视图项目滚动不起作用。但是,如果我在中间网格中移动相同的列表视图,滚动就会完全按照我的意愿工作。我在这里想念什么?我怎样才能使这个 Listview 滚动在最后一个网格中工作。这是代码sn-ps。 TIA

<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 的 ActualHight 吗?此外,这种高度绑定可能会导致问题。它应该与没有该 ElementName 绑定的父事件具有相同的高度。

标签: xaml listview windows-runtime grid windows-phone-8.1


【解决方案1】:

网格的行定义对于它所在的行是自动的。如果将列表视图放在具有自动的行中,它将不会滚动,您必须使用 ,1,2* 等或一个固定的高度。

【讨论】:

  • 我在网格上设置了一个固定的高度......它不起作用
【解决方案2】:

我最近发现,当我将 ListView 放入带有&lt;PlaneProjection/&gt; 的容器中时,滚动停止工作。关闭 PlaneProjection 允许 ListView 再次滚动。这是你的问题吗?我目前正在寻找解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-08
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多