2011-12-27 28 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.IsSharedSizeScopeGrid.SharedSizeGroup對準你的頭格列與內容網格列

+0

非常感謝您! – user282603 2011-12-28 19:45:21