Ответ 1
Добавить ScrollViewer поверх StackPanel, и это сделает его прокручиваемым.
Я только начинаю разработку WinPhone и не могу понять, как установить вертикальный прокрутки. Например, я запустил новое приложение Pivot, и этот код позволяет пользователю прокручивать вверх и d для просмотра всех записей:
<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>
Теперь, когда я добавляю свой собственный элемент сворачивания, с панелью стека с большим количеством элементов, чем можно увидеть на экране в любой момент, он не позволит мне прокручивать их, чтобы увидеть их все. Что мне здесь не хватает?
Спасибо.
Добавить ScrollViewer поверх StackPanel, и это сделает его прокручиваемым.
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>
В элементе управления поворота, если содержимое переполняет вертикальную страницу, тогда вам будет доступна по умолчанию "вертикальная" прокрутка.
У меня был аналогичный элемент управления, в котором поле списка ограничено свойством. "Список" должен автоматически разрешить прокрутку.
Не добавляйте scrollviewer поверх панели стека, поскольку это сделает прокрутку включенной для каждого элемента списка, который вам не нужен.
<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>