0
我在WPF中有一個ListView(GridView),我試圖按照http://msdn.microsoft.com/en-us/library/ms745786.aspx執行排序。在我的情況下,其中一列的單元格模板包含一個擴展器。現在當我點擊擴展頭時,GridViewColumnHeader.Click事件觸發。我如何防止這種情況發生?WPF Listview Columnheader Click事件
我在WPF中有一個ListView(GridView),我試圖按照http://msdn.microsoft.com/en-us/library/ms745786.aspx執行排序。在我的情況下,其中一列的單元格模板包含一個擴展器。現在當我點擊擴展頭時,GridViewColumnHeader.Click事件觸發。我如何防止這種情況發生?WPF Listview Columnheader Click事件
如果什麼都不需要,請用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標題,則繼續排序。