2012-12-20 76 views
1

我有一个分组GridView与其中的一些显式大小的数据绑定控件。停止滚动视图滚动延伸超出内容界限

GridView有一个VariableSizedWrapGrid作为ItemPanelTemplate类型。

正如你可以看到ScrollView滚动的内容远远超出内容。

任何帮助表示赞赏,下面的XAML。

ScrollView extending beyond content area

<GridView Grid.Row="2" ItemsSource="{Binding Source={StaticResource contentSetListViewSource}}" ItemTemplate="{StaticResource DashboardContentSetItem}" SelectedIndex="-1" SelectionMode="Multiple" Padding="0,0,0,15" VerticalAlignment="Center" Margin="20 0" HorizontalAlignment="Left"> 
    <GridView.GroupStyle> 
     <GroupStyle>       
      <GroupStyle.HeaderTemplate> 
       <DataTemplate> 
        <TextBlock Text="{Binding Key}" Margin="0 10" Style="{StaticResource GroupHeaderTextStyle}"/> 
       </DataTemplate> 
      </GroupStyle.HeaderTemplate> 
      <GroupStyle.Panel> 
       <ItemsPanelTemplate> 
        <VariableSizedWrapGrid/> 
       </ItemsPanelTemplate> 
      </GroupStyle.Panel> 
     </GroupStyle> 
    </GridView.GroupStyle>     
</GridView> 
+0

你正在填充的东西是推动你的视口大小,你知道它可能是什么?在面板模板上拍一个左对齐,让初学者排除故障,将剩下的东西推开,也许应用一个最小宽度以确保它不会超出你的想象的距离。 –

回答

0

GridView默认使用ItemsPanelTemplate由含有WrapGrid一个边界的。

所以我指定了错误的面板,这是我用的修补程序:

<GridView.ItemsPanel> 
    <ItemsPanelTemplate> 
     <StackPanel Orientation="Horizontal" /> 
    </ItemsPanelTemplate> 
</GridView.ItemsPanel> 

原因是一个WrapGrid不是可变大小的它固定在大集合的大小,第二组(1项)的大小与第一组(5项)相同,这就是它超出内容的原因。

相关问题