C# Windows 8应用程序中未显示WrapGrid的滚动条
我当前将WrapGrid绑定到BitMapImage的ObservableCollection。我所希望的是显示这些,每行4个项目,向下延伸-当WrapGrid延伸超过用户屏幕的大小时,允许用户向下滚动。目前,它正在工作-但没有滚动条出现,用户无法向下滚动-因此,每当它延伸到屏幕之外时,图像就会被切断,并没有用处 我相信我定义网格的方式一定有错误;但就我的一生而言,我无法在数小时的搜索之后找出我做错了什么 这是我的密码:C# Windows 8应用程序中未显示WrapGrid的滚动条,c#,windows,xaml,grid,grid-layout,C#,Windows,Xaml,Grid,Grid Layout,我当前将WrapGrid绑定到BitMapImage的ObservableCollection。我所希望的是显示这些,每行4个项目,向下延伸-当WrapGrid延伸超过用户屏幕的大小时,允许用户向下滚动。目前,它正在工作-但没有滚动条出现,用户无法向下滚动-因此,每当它延伸到屏幕之外时,图像就会被切断,并没有用处 我相信我定义网格的方式一定有错误;但就我的一生而言,我无法在数小时的搜索之后找出我做错了什么 这是我的密码: <Grid Background="{StaticResource
<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>
...
我以为这是默认设置的,但可能不是这样,所以这可能会很有用
<ItemsPanelTemplate>
<WrapGrid Orientation="Horizontal"
CanVerticallyScroll="True"
ScrollViewer.VerticalScrollBarVisibility="Auto" />
</ItemsPanelTemplate>
CrapGrid不支持CanVerticallyScroll;不幸的是,其他属性没有区别。尽管如此,还是非常感谢您的回复:)根据官方文件,的确如此,但很明显,这只是为了与之配套使用的orientedvirtualizingpanel。我很快就会回来讨论这个问题,当然我们已经把事情复杂化了,谢谢你!我认为在这种情况下,包含元素需要有一个固定的大小,或者沿着这些线。我见过有人抱怨当行大小设置为“*”时滚动条不出现,但我所有的实验都没有结果