Mam ItemsControl
, zbudowałem elementy, które wyświetlam w nim (views:DisplayGroupView
) w taki sposób, że będą się one rozciągać w poziomie, aby pokazać całą ich zawartość a nie w pionie (tylko przy użyciu dostępnego wysokość)Przewijanie w ItemControl przy użyciu poziomego StackPanel jako ItemsPanel
zmieniłem ItemsPanel
z ItemsControl
użyć StackPanel
z Orientation="Horizontal"
Układ mądry jest idealny, ale bez względu na to, co robię, nie mogę go dostać przewijać w poziomie, dzięki czemu widzę wszystko.
Jest to XAML dla 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>
Stanowi to wszystko się dobrze, ale nie będzie się przewijać. Próbowałem zostały również zmiany szablonu ItemsControls dołączyć ScrollViewer, ale to tylko stosy rzeczy pionie:
<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>
Jak mogę dostać układ poziomy, a jednocześnie jest w stanie przewinąć?
Czy próbowałeś wyciągnąć go z szablonu i sam go osadzić? Podobnie jak ScrollViewer>, brzmi głupio, wiem, ale wart strzał. –
@ChrisW. Kiedy to robię, ItemsControl wykorzystuje więcej pionowej przestrzeni i nie układa się tak, jak chcę. Nawet z –
PhonicUK
@ChrisW. W końcu udało mi się to za pomocą twojej sugestii, po prostu przyjąłem trochę korekty z wyrównaniami. Jeśli chcesz zamieścić to jako odpowiedź, przyjmuję to :) – PhonicUK