Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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
Windows phone 8.1 如何在Windows Phone 8.1上的pivot控件内创建可滚动的listview_Windows Phone 8.1_Winrt Xaml - Fatal编程技术网

Windows phone 8.1 如何在Windows Phone 8.1上的pivot控件内创建可滚动的listview

Windows phone 8.1 如何在Windows Phone 8.1上的pivot控件内创建可滚动的listview,windows-phone-8.1,winrt-xaml,Windows Phone 8.1,Winrt Xaml,这就是我想要达到的目标:创建一个适合手机屏幕的网格。网格中有两个控件,一个标题stackpanel和一个pivot控件,用于填充屏幕中的剩余空间。在pivot控件中,我想显示其他三个控件。标题stackpanel及其全高(始终可见)、按钮容器及其全高(始终可见)以及前两个控件之间的可滚动列表视图,用于填充透视项中的剩余空间。我试过了,但如果我将listview的高度设置为星号字符,它会填充标题后的全部剩余空间,我看不到下面的按钮,并且listview不可滚动。当我设置listview高度fe时。

这就是我想要达到的目标:创建一个适合手机屏幕的网格。网格中有两个控件,一个标题stackpanel和一个pivot控件,用于填充屏幕中的剩余空间。在pivot控件中,我想显示其他三个控件。标题stackpanel及其全高(始终可见)、按钮容器及其全高(始终可见)以及前两个控件之间的可滚动列表视图,用于填充透视项中的剩余空间。我试过了,但如果我将listview的高度设置为星号字符,它会填充标题后的全部剩余空间,我看不到下面的按钮,并且listview不可滚动。当我设置listview高度fe时。在我接受的情况下,按钮在listview下方可见,listview可滚动。但是我不想设置任何硬编码的高度,那么我应该如何使用dinamic高度设置来实现这种行为呢? 我尽可能简化了xaml,以给出一个示例。此示例可以正常工作,但我希望将listview的固定高度(200)替换为数字值(*),以最大高度显示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


好的,我在这个链接上找到了答案:
解决方案是从Pivot控件中删除不必要的StackPanel。

您是否尝试在滚动条中设置listview?我尝试了ScrollViewer,但没有帮助。我可能犯了错误,你能给我举个例子吗?您应该设置scrollOk的高度,但它又是一个常量值(250),在没有滚动的情况下也会达到此行为。我想要一个可滚动的listview,它的高度自动设置为最大可用大小。Fe.:屏幕高度为400像素。如果其他控件的总高度为150,则listview的高度必须设置为250。通过使用3列定义并将其高度设置为:auto、*、auto,我可以通过网格实现这种行为。但它似乎在枢轴控件中不起作用。