2013-01-14 74 views
0

我目前有一個WrapGrid綁定到BitmapImages的ObservableCollection。我希望顯示這些內容,每行4個項目,向下延伸 - 當WrapGrid延伸超過用戶屏幕的大小時,允許用戶向下滾動。目前它正在工作 - 但沒有滾動條出現,並且用戶無法向下滾動 - 因此,只要它延伸到屏幕之外,圖像就會被截斷並無用。沒有滾動條出現WrapGrid在Windows 8應用程序

我相信在定義我的網格的過程中,一定是不正確的;但在我的生活中,我無法弄清楚在搜索幾小時後我做了什麼不正確的事情。

這裏是我的代碼:

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="140" /> 
     <RowDefinition Height="*" /> 
    </Grid.RowDefinitions> 

    <Grid> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="Auto" /> 
      <ColumnDefinition Width="*" /> 
     </Grid.ColumnDefinitions> 

     <Button x:Name="backButton" 
      Click="GoBack" 
      IsEnabled="{Binding Frame.CanGoBack, ElementName=pageRoot}" 
      Style="{StaticResource BackButtonStyle}" /> 

     <TextBlock x:Name="pageTitle" 
       Grid.Column="1" 
       Text="Image Gallery" 
       Style="{StaticResource PageHeaderTextStyle}" /> 
    </Grid> 

    <Grid Grid.Row="1" Grid.Column="1"> 
    <Grid Margin="120,0,0,0"> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="60" /> 
      <RowDefinition Height="60" /> 
      <RowDefinition Height="*" /> 
     </Grid.RowDefinitions> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="Auto" /> 
      <ColumnDefinition Width="Auto" /> 
      <ColumnDefinition Width="Auto" /> 
      <ColumnDefinition Width="Auto" /> 
      <ColumnDefinition Width="Auto" /> 
      <ColumnDefinition Width="*" /> 
     </Grid.ColumnDefinitions> 

     ... 
     <ItemsControl Name="listOfImages" ItemsSource="{Binding Path=Images}" Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="5" ScrollViewer.VerticalScrollBarVisibility="Visible"> 
      <ItemsControl.ItemsPanel> 
       <ItemsPanelTemplate> 
        <WrapGrid Orientation="Horizontal" Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="5" /> 
       </ItemsPanelTemplate> 
      </ItemsControl.ItemsPanel> 
      <ItemsControl.ItemTemplate> 
       <DataTemplate> 
        <Image Stretch="Fill" Width="200" Height="200" Source="{Binding}" Margin="10,10,10,0" Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="5" /> 
       </DataTemplate> 
      </ItemsControl.ItemTemplate> 
     </ItemsControl> 
    </Grid> 
</Grid> 

回答

1

我認爲這東西是默認設置,但可能並非如此,所以這可能是有用的。

<ItemsPanelTemplate> 
    <WrapGrid Orientation="Horizontal" 
       CanVerticallyScroll="True" 
       ScrollViewer.VerticalScrollBarVisibility="Auto" /> 
</ItemsPanelTemplate> 
+0

CanVerticallyScroll不受WrapGrid支持;其他屬性不幸的是沒有區別。非常感謝答覆:) –

+0

嗯,根據官方文檔http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.wrapgrid,但顯然只是爲了與它一起使用的面向虛擬化面板。我會很快回來,當然,我們結束了複雜的事情lol –

+0

謝謝你!我認爲這是一個情況,包含元素需要有一個固定的大小或沿着這些線路。我看到有人抱怨滾動條在行大小設置爲「*」時沒有出現,但是我的所有實驗都讓我無處可尋! :) –

相關問題