我正在尝试创建一个具有外部网格的页面,该网格将页面分成两半,并在网格列上插入一个轴。
代码:
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Pivot Grid.Row="1" Grid.Column="1">
<Pivot.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" FontSize="18" />
</DataTemplate>
</Pivot.HeaderTemplate>
<PivotItem x:Name="Tab1" Header="Tab 1">
<ListView x:Name="matchesList">
<ListView.ItemTemplate>
<DataTemplate x:DataType="local:Data">
<Grid>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{x:Bind Match}"/>
</StackPanel>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</PivotItem>
<PivotItem x:Name="Tab2" Header="Tab 2">
</PivotItem>
</Pivot>
</Grid>
我希望轴项目滚动。我已经尝试将scrollviewer放在很多内部元素周围,但围绕整个数据透视表是它出现的唯一方式。 ListView正确填充,但只是在屏幕的末尾运行,仍然无法滚动。如何让ListView在枢轴内滚动?
谢谢!
答案 0 :(得分:0)
我已经厌倦了,如果您启用IsHorizontalScrollChainingEnabled,它应该可以运作:
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Pivot Grid.Row="1" Grid.Column="1">
<Pivot.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" FontSize="18" />
</DataTemplate>
</Pivot.HeaderTemplate>
<PivotItem x:Name="Tab1" Header="Tab 1">
<ListView x:Name="matchesList" ScrollViewer.IsHorizontalScrollChainingEnabled="True">
<ListView.ItemTemplate>
<DataTemplate x:DataType="local:Data">
<Grid>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{x:Bind Match}"/>
</StackPanel>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</PivotItem>
<PivotItem x:Name="Tab2" Header="Tab 2">
</PivotItem>
</Pivot>
</Grid>
通常滚动 ScrollViewer 的处理级别非常低,以提高性能。虽然这也有一些缺点 - 当你想使用 PointerEvents 时会带来问题。为了让生活更轻松,设计了两个属性 - 垂直/水平链接 - 这允许将垂直/水平滚动从子节点传递到父节点 - 就像在您的示例中一样 - ListView 垂直滚动并且 Pivot < / em>水平。