如何在Windows Phone 8.1上的数据透视控件内创建可滚动列表视图

时间:2015-10-26 09:18:26

标签: windows-phone-8.1 winrt-xaml

这就是我想要达到的目的:创建一个适合手机屏幕的网格。网格中的两个控件,一个标题堆栈面板和一个旋转控件,用于填充屏幕中的剩余空间。在枢轴控制中,我想显示其他三个控件。具有完整高度(始终可见)的标题堆栈面板,具有其全高(始终可见)的按钮容器以及前两个控件之间的可滚动列表视图,其填充枢轴项中的剩余空间。我尝试过,但是如果我将listview的高度设置为星号,它会在标题后填充剩余的空间,我看不到下面的按钮,列表视图不可滚动。当我设置listview height fe。到200它按照我接受的方式工作,按钮在listview下方可见,listview是可滚动的。但是我不想设置任何硬编码高度,那么我应该如何使用dinamic height设置来达到这种行为? 我尽可能简单地给我的xaml做了一个例子。这个例子正如我想要的那样工作但是我想将listview(200)的固定高度替换为dinamically value(*)以显示具有最大高度的listview并将其保持为可滚动控件:

<Grid x:Name="LayoutRoot">
    <Grid.ChildrenTransitions>
        <TransitionCollection>
            <EntranceThemeTransition/>
        </TransitionCollection>
    </Grid.ChildrenTransitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>

    <StackPanel Grid.Row="0" Margin="19,0,0,0">
            <TextBlock x:Uid="Header" Name="pageTitle" Text="TITLE" Style="{ThemeResource TitleTextBlockStyle}" Margin="0,2,0,0" Width="243" />
        </StackPanel>

    <Pivot x:Name="myPivot" Grid.Row="1" Margin="-10,0,-10,0" x:FieldModifier="public">
        <PivotItem x:Name="pivot_item1">
            <PivotItem.Header>
                <Grid >
                    <TextBlock Text="Header1"/>
                </Grid>
            </PivotItem.Header>
            <StackPanel>
                <Grid x:Name="PivotRoot">
                    <Grid.ChildrenTransitions>
                        <TransitionCollection>
                            <EntranceThemeTransition/>
                        </TransitionCollection>
                    </Grid.ChildrenTransitions>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="200"/>
                        <RowDefinition Height="Auto"/>
                    </Grid.RowDefinitions>

                    <StackPanel Grid.Row="0" Margin="19,0,0,0">
                        <TextBlock x:Uid="PivotHeader"  Text="PivotHeader" Margin="0,2,0,0" Width="243" />
                    </StackPanel>

                    <ListView x:Name="DataListView" Grid.Row="1"  Margin="10,10,10,0" VerticalAlignment="Top" HorizontalAlignment="Stretch" x:FieldModifier="public">
                    </ListView>


                    <StackPanel Grid.Row="2" Margin="19,0,0,0">
                        <TextBlock x:Uid="PivotButtons"  Text="PivotButtons" Margin="0,2,0,0" Width="243" />
                    </StackPanel>

                </Grid>

            </StackPanel>
        </PivotItem>
        <PivotItem x:Name="pivot_item2" >
            <PivotItem.Header>
                <Grid >
                    <TextBlock Text="Header2"/>
                </Grid>
            </PivotItem.Header>
            <StackPanel>
                <TextBlock Text="page2"></TextBlock>
            </StackPanel>
        </PivotItem>
    </Pivot>
</Grid

1 个答案:

答案 0 :(得分:0)

好的,我在这个链接上找到了答案: https://social.msdn.microsoft.com/Forums/windowsapps/en-US/03a47c3d-334e-45fb-825b-cf7c7a347ca8/scrolling-down-not-working-in-listview-inside-pivot-item-wp-81?forum=wpdevelop 解决方案只是从Pivot控件中删除不必要的StackPanel。