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标题,则继续排序。