私は を持っておりItemsControl
、そこに表示しているアイテム ( views:DisplayGroupView
) を、垂直方向ではなく水平方向に拡張してすべてのコンテンツを表示するように作成しました (使用可能な高さのみを使用)。
の をwithを使用するように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>
これにより、すべてが正常にレイアウトされますが、スクロールしません。また、スクロールビューアーを含めるように ItemsControls テンプレートを変更しようとしましたが、これは物事を垂直に積み重ねるだけです:
<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>
スクロールしながら水平レイアウトを取得するにはどうすればよいですか?