2012-06-26 99 views
0

我注意到我的DataGrid在WPF中,當我設置SelectionMode="Extended"時,水平滾動變得非常斑駁/奇怪。某些「全選」類型的按鈕在網格的左上角顯示/消失得很快,並且在滾動時,標題欄會跳轉來回跳轉。滾動條本身也在滾動時來回跳動。滾動確實有點幫助,但行爲,而滾動實際上看起來很怪異。wpf datagrid水平滾動錯誤?

我注意到,如果我設置SelectionMode="Single"然後問題消失,但我想使用SelectionMode="Extended"。這是我的數據網格的代碼:

<DataGrid x:Name="dataGrid" SelectionMode="Extended" SelectionUnit="Cell" 
    HeadersVisibility="Row,Column" RowHeaderWidth="0" 
    ItemsSource="{Binding ElementName=dataPager, Path=PageView}" 
    CanUserReorderColumns="False" 
    CanUserAddRows="False" CanUserDeleteRows="False" CanUserResizeRows="False"> 

任何人都知道如何解決這個問題?提前致謝!

+1

無法重現您的問題。當DataGrid中的選擇更改時,你正在做些什麼(在代碼/ VM中)?或者其他你沒有提到的東西。 – akjoshi

+0

對代碼中的數據網格不做任何事情,只是使用viewmodel中的數據源。如果你無法重現這個問題,它必須與datagrid/datagridcolumnheader的樣式有關,儘管我沒有在那裏看到任何太奇怪的東西...... – JPProgrammer

回答

4

所以我想出了一個解決我的問題。我認爲這是'全選'按鈕導致它在滾動過程中出現/消失的方式出現問題,因此我研究了使按鈕出現的方式以及如何使其不出現。原來,問題是與行頭,所以我改變了:

HeadersVisibility="Row,Column" 

到:

HeadersVisibility="Column" 

在頭知名度「全選」按鈕不再出現取出排部後,和滾動按照它的設想發生。仍然不完全確定爲什麼'全選'按鈕出現/消失的方式,雖然...

+0

這只是救了我謝謝。對於任何有類似問題的人,我發現'FrozenColumnsCount'似乎也是部分原因。看到我的問題在這裏:http://stackoverflow.com/questions/17466674/wpf-datagrid-cant-select-a-range-horizo​​ntally –