2011-12-27 3 views
0

Мне нужно реализовать элемент управления с панелью заголовка и элементов. Этот элемент управления должен иметь поведение прокрутки, подобное DataGrid. Заголовок должен прокручиваться по горизонтали вместе с элементами, но должен фиксироваться при вертикальной прокрутке. Как я могу реализовать такое поведение?Поведение прокрутки, похожее на DataGrid

ответ

2

Я хотел бы использовать два ScrollViewers, а не один

Вот раскладка управления Я хотел бы использовать

<DockPanel> 
    <ScrollViewer x:Name="HeaderScrollViewer" DockPanel.Dock="Top"> 
     <Grid x:Name="Headers" /> 
    </ScrollViewer> 
    <ScrollViewer x:Name="ContentScrollViewer"> 
     <Grid x:Name="Content" /> 
    </ScrollViewer> 
</DockPanel> 

Есть несколько вещей, чтобы отметить, чтобы сделать эту работу правильно.

  • Скрыть полосы прокрутки на HeaderScrollViewer. ScrollViewer доступен только для функциональности - Пользователь фактически не взаимодействует с ним.

  • Когда ContentScrollViewer прокручивает по горизонтали, вручную прокрутите HeaderScrollViewer на том же расстоянии.

  • Использование Grid.IsSharedSizeScope и Grid.SharedSizeGroup, чтобы выровнять столбцы сетки заголовков с грид столбцов контента

+0

Большое спасибо! – user282603

Смежные вопросы