【问题标题】:Where to find TreeListViews ColumnHeaderClick Event?在哪里可以找到 TreeListViews ColumnHeaderClick 事件?
【发布时间】:2011-07-22 00:35:07
【问题描述】:

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

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

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

谢谢

【问题讨论】:

  • 没有一个通用的点击事件,其参数告诉点击“登陆”的位置吗?

标签: c# wpf treelistview


【解决方案1】:

您需要为 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。

【讨论】:

    猜你喜欢
    • 2018-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-24
    • 2015-08-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多