Pho*_*cUK 9 c# xaml winrt-xaml
我有一个ItemsControl,我已经构建了我在其中显示的项目(views:DisplayGroupView),它们将水平扩展以显示所有内容而不是垂直(仅使用可用高度)
我已经改变了我ItemsPanel的ItemsControl使用StackPanel与Orientation="Horizontal"
布局明智它是完美的,但无论我做什么我都不能让它水平滚动所以我可以看到一切.
这是以下的XAML ItemsControl:
<ItemsControl ItemsSource="{Binding DisplayGroups}" Grid.Row="1" Margin="120,20,120,20" VerticalContentAlignment="Stretch">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate >
<StackPanel Orientation="Horizontal" ScrollViewer.HorizontalScrollMode="Enabled" ScrollViewer.HorizontalScrollBarVisibility="Visible"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<views:DisplayGroupView Margin="0,0,20,0" DataContext="{Binding}" VerticalAlignment="Stretch"></views:DisplayGroupView>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Run Code Online (Sandbox Code Playgroud)
这样可以解决所有问题,但不会滚动.我也尝试更改ItemsControls模板以包含一个scrollviewer,但这只是垂直堆叠的东西:
<ItemsControl.Template>
<ControlTemplate>
<ScrollViewer x:Name="ScrollViewer" Padding="{TemplateBinding Padding}" VerticalContentAlignment="Stretch" ScrollViewer.HorizontalScrollMode="Enabled" ScrollViewer.VerticalScrollMode="Disabled">
<ItemsPresenter VerticalAlignment="Stretch"/>
</ScrollViewer>
</ControlTemplate>
</ItemsControl.Template>
Run Code Online (Sandbox Code Playgroud)
如何在能够滚动的同时获得水平布局?
如果你把它拉出ItemsControl并自己嵌入它,由于某些原因,这通常会起到解决方法的作用,例如;
<ScrollViewer VerticalScrollBarVisibilty="Disabled" HorizontalScrollBarVisibility="Auto">
<ItemsControl/>
</ScrollViewer>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1627 次 |
| 最近记录: |