【问题标题】:WPF Listview Columnheader Click EventWPF Listview 列标题单击事件
【发布时间】:2010-09-15 10:41:16
【问题描述】:
【问题讨论】:
标签:
.net
wpf
listview
grid
columnheader
【解决方案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 应该适用于任何控件。
如果用户点击这个header的时候需要发生其他事情,你也可以在那个方法中处理。
如果您需要以不同方式处理这些情况,您可以检查发件人以查看用户单击的位置(在扩展器或网格视图标题上)。如果发送者是扩展器,取消它。如果sender是gridview header,让排序继续。