Scrollview для Itemscontrol grid

1

У меня есть пользовательский элемент управления, который в основном является элементом управления. Это сетка кнопок 3x3, и я хочу, чтобы scrollview имел разные страницы с каждой страницей, имеющей 3x3 кнопки.

Ниже приведены некоторые иллюстрации, иллюстрирующие, что я имею в виду:

Изображение 174551

Изображение 174551

Изображение 174551

Как мне создать что-то вроде этого? Полный код моего контроля можно найти здесь: Access ItemsControl Items и Animate One by One

Заранее спасибо!

Теги:
wpf
scrollview
itemscontrol

1 ответ

0
Лучший ответ

Вы можете добавить ScrollViewer внутри вашей сетки и иметь свою сетку 3x3 в горизонтально ориентированной StackPanel.

<Grid >
        <ScrollViewer VerticalScrollBarVisibility="Hidden" HorizontalScrollBarVisibility="Visible" ScrollChanged="ScrollViewer_ScrollChanged">
            <StackPanel Orientation="Horizontal" Name="stack">
                  ...
            </StackPanel>
        </ScrollViewer>
    </Grid>

Затем используйте ScrollViewer_ScrollChanged для изменения смещения прокрутки

private void ScrollViewer_ScrollChanged(object sender, ScrollChangedEventArgs e)
    {
        int direction = e.HorizontalChange > 0 ? 1 : -1;
        (sender as ScrollViewer).ScrollToHorizontalOffset(stack.ActualWidth * direction / [number of grids]);

    }
  • 0
    Очень поздно, но я только что снова увидел свой вопрос, и именно тогда я его реализовал!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню