2010-09-15 41 views

回答

1

如果什麼都不需要,請用e.Cancel = true取消。我有我的,一個項目類似的東西,我不希望用戶重新排序列:

private void DataGrid_ColumnReordering(object sender, Microsoft.Windows.Controls.DataGridColumnReorderingEventArgs e) 
{ 
    e.Cancel = true; 
} 

然後,在XAML,我有:

<toolkit:DataGrid ItemsSource="{Binding JournalItems}" 
        AutoGenerateColumns="True" 
        ColumnReordering="DataGrid_ColumnReordering"> 

這是WPF Toolkit數據網格,但e.Cancel = true應該適用於任何控件。

如果在用戶單擊此標題時需要發生其他事情,也可以使用該方法處理它。

如果您需要以不同的方式處理這些情況,您可以檢查發件人以查看用戶單擊的位置(位於擴展器或網格視圖標頭上)。如果發件人是擴展器,則取消它。如果發件人是gridview標題,則繼續排序。