2012-04-20 74 views
1

我是Windows Phone开发新手,因此请和我一起裸照。我有一个简单的Pivot和一个PivotItem,如下所示。在横向和纵向模式下使用ScrollViewer正确滚动

<StackPanel> 
    <controls:Pivot x:Name="TopPivot" Title="Daily Comics" ItemsSource="{Binding ComicsListModel}" SelectionChanged="TopPivot_SelectionChanged" Height="762"> 
      <controls:Pivot.HeaderTemplate> 
       <DataTemplate> 
        <TextBlock Text="{Binding ComicName}"/> 
       </DataTemplate> 
      </controls:Pivot.HeaderTemplate> 
      <controls:Pivot.ItemTemplate> 
       <DataTemplate> 
        <StackPanel> 
         <TextBlock Text="{Binding PubDate}" HorizontalAlignment="Center" VerticalAlignment="Top" /> 
         <ScrollViewer VerticalScrollBarVisibility="Auto"> 
          <Image x:Name="ComicStrip" Source="{Binding ComicImage}" Stretch="UniformToFill" /> 
         </ScrollViewer> 
        </StackPanel> 
       </DataTemplate> 
      </controls:Pivot.ItemTemplate> 
    </controls:Pivot> 
</StackPanel> 

问题是我想让Image(名为“ComicStrip”)垂直滚动,如果它不完全可见。这适用于肖像模式,但不适用于lanscape。在lanscape中,图像只能部分滚动,而图像的底部将不可见。

我认为当我处于lanscape模式时,我必须告诉ScrollViewer它是高度的,但我不知道如何以及如何处理这种用例的最佳做法。尽管如此,似乎是一个基本的用例。

任何意见我应该做什么?

+0

会发生什么事,如果你设置VerticalScrollBarVisibility为Visible,而不是自动? – 2012-04-20 08:08:55

+0

嗯 - 行为没有差异。更奇怪的是,在平移图像时我没有看到滚动条。 – 2012-04-20 08:11:13

回答

1

我认为这里的问题是使用StackPanel作为Pivot项目模板!如果你使用网格,你不应该有任何问题。

这个替换您的枢轴项模板:

<controls:Pivot.ItemTemplate> 
    <DataTemplate> 
     <Grid> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="Auto" /> 
       <RowDefinition /> 
      </Grid.RowDefinitions> 
      <TextBlock Text="{Binding PubDate}" /> 
      <ScrollViewer VerticalScrollBarVisibility="Auto" Grid.Row="1"> 
       <Image x:Name="ComicStrip" Source="{Binding ComicImage}" Stretch="UniformToFill" /> 
      </ScrollViewer> 
     </Grid> 
    </DataTemplate> 
</controls:Pivot.ItemTemplate> 
+1

谢谢! StackPanel绝对是这里的问题。我在XAML中也有另一个StackPanel,它不包含在我的原始粘贴中,所以我用Grid替换了它,现在滚动了!最终版本可以在这里看到:[链接](https://github.com/kypeli/WPDailyComic/blob/master/ComicBrowser/MainPage.xaml) – 2012-04-20 10:16:33

+0

我这是这是根本原因。 http://stackoverflow.com/questions/802821/how-can-i-get-scrollviewer-to-work-inside-a-stackpanel – 2012-04-20 13:05:39

相关问题