2012-04-20 133 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

相關問題