我刚刚开始在WinPhone开发中,无法弄清楚如何设置垂直滚动。例如,我已经启动了一个新的Pivot App,这段代码允许用户向上滚动并拥有以查看所有条目:
<controls:PivotItem Header="Login">
<!--Double line list with text wrapping-->
<ListBox x:Name="FirstListBox" Margin="0,0,-12,0" ItemsSource="{Binding Items}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,17" Width="432" Height="78">
<TextBlock Text="{Binding LineOne}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
<TextBlock Text="{Binding LineTwo}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</controls:PivotItem>
现在,当我添加自己的数据透视表项目时,堆叠面板上的项目数量多于屏幕上任何时候都可以看到的数量,它将不允许我滚动查看所有项目。我在这里缺少什么?
感谢。
答案 0 :(得分:23)
在StackPanel上添加ScrollViewer,它将使其可滚动。
答案 1 :(得分:6)
您提供的示例代码中的ListBox
具有内置滚动功能。但是,如果您没有使用已具有此滚动功能的内容,则必须添加ScrollViewer
。
<controls:PivotItem Header="Example">
<ScrollViewer Margin="12,0,12,0">
<StackPanel>
<TextBlock Text="Example1" FontSize="150" />
<TextBlock Text="Example2" FontSize="150" />
</StackPanel>
</ScrollViewer>
</controls:PivotItem>
答案 2 :(得分:1)
在枢轴控制中,如果内容溢出垂直页面,则应该有默认的“垂直”滚动。
我对属性限制的列表框有类似的控制权。拥有“列表”应该会自动允许您滚动。
不要在堆栈面板上添加滚动查看器,因为它会为您不想要的每个列表项启用滚动。
<controls:PivotItem Header="all authors" Foreground="#FF0C388A">
<Grid>
<ListBox Margin="0,0,-12,0" ItemsSource="{Binding AllAuthorsList}" Foreground="#FF0C388A">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,17" Width="432" Height="Auto">
<TextBlock Tap="TextBlockAuthor_Tap" Text="{Binding}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}" Foreground="#FF0C388A"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</controls:PivotItem>