0

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

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

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

谢谢

4

1 回答 1

0

您需要为 GridViewColumnHeader.Click 事件添加一个处理程序。这篇文章描述了如何为 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。

于 2011-03-24T11:30:05.307 回答