我正在尝试在GridViewColumnHeader上附加click事件:
为此,我使用了以下内容:
<ListView GridViewColumnHeader.Click="HandleColumnHeaderClicked">
</ListView>
并在后面的代码中按如下方式处理click事件:
private void HandleColumnHeaderClicked(object sender, RoutedEventArgs e)
{
if (e.OriginalSource is GridViewColumnHeader)
{
var column = ((GridViewColumnHeader)e.OriginalSource).Column;
vm.SelectedColumnCommand.Execute(column.Header);
e.Handled = true;
}
}
一切似乎都很好,但GridViewColumnHeader.Click实际上与ButtonBase.Click相同。这意味着列表视图中的任何ButtonBase控件都将触发此事件,我的列表视图可能有数千个这样的控件。这似乎不是最好的做法。
我的问题是:如何在特定的GridViewColumnHeader类型上挂钩click事件(而不是任何其他ButtonBase控件)。
提前致谢。