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