在哪里可以找到树列表视图列标题单击事件?

时间:2011-03-24 10:29:35

标签: c# wpf treelistview

我正在开发一种工具,以分层方式显示数据库中的数据。由于每个项目都有其他数据,我使用TreeListView控件在其他列中显示它们。列数由用户输入确定。

我正在使用的自定义控件是Ricciolos TreeListView: http://windowsclient.net/blogs/ricciolocristian/archive/2008/03/22/a-complete-wpf-treelistview-control.aspx

我现在的问题是,我需要捕获ColumnHeaderClick事件以应用排序逻辑。我已经采访了阿姨谷歌,但没有结果。 也许somene在这里知道在哪里找到这样的事件以及如何确定点击了哪个列标题。

谢谢

1 个答案:

答案 0 :(得分:0)

您需要为GridViewColumnHeader.Click事件添加处理程序。这个post描述了如何为ListView使用相同的底层控件。此代码改编自该链接:

myTreeListView.AddHandler(GridViewColumnHeader.ClickEvent, new RoutedEventHandler(this.OnGridViewColumnHeaderClicked));

private void OnGridViewColumnHeaderClicked(object sender, RoutedEventArgs e) {
    MessageBox.Show("testing");
}

或者,您可以通过XAML附加处理程序,如下所示:

<my:TreeListView GridViewColumnHeader.Click="OnGridViewColumnHeaderClicked" />

e.OriginalSource将包含GridViewColumnHeader,而e.Source / sender将是TreeListView。