.net WPF Listview列标题单击事件
我在WPF中有一个ListView(GridView),我正试图根据它来实现排序。在我的例子中,其中一列的celltemplate包含一个扩展器。现在,当我单击expander标题时,GridViewColumnHeader.click事件触发。如何防止这种情况发生?如果不需要发生任何事情,请使用.net WPF Listview列标题单击事件,.net,wpf,listview,grid,columnheader,.net,Wpf,Listview,Grid,Columnheader,我在WPF中有一个ListView(GridView),我正试图根据它来实现排序。在我的例子中,其中一列的celltemplate包含一个扩展器。现在,当我单击expander标题时,GridViewColumnHeader.click事件触发。如何防止这种情况发生?如果不需要发生任何事情,请使用e.cancel=true取消它。我在我的一个项目中有类似的内容,我不希望用户对列重新排序: private void DataGrid_ColumnReordering(object sender,
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工具包datagrid,但是e.Cancel=true
应该适用于任何控件
如果用户单击此标题时需要发生其他事情,也可以使用该方法处理
如果需要以不同的方式处理这些情况,您可以检查发送者以查看用户单击的位置(在扩展器或gridview标题上)。如果发送方是扩展器,请取消它。如果发送方是gridview标头,则继续排序