【问题标题】:WPF Listview sort works only one time, and then nothing happenWPF Listview 排序只工作一次,然后什么也没有发生
【发布时间】:2015-06-15 10:03:42
【问题描述】:

我在 WPF 窗口中有一个 ListView,我试图通过单击列对其进行排序。 要了解如何做到这一点,我点击了这个链接:http://www.wpf-tutorial.com/listview-control/listview-how-to-column-sorting/

我创建了 GridViewColumnHeader_Cick 方法如下:

private void GridViewColumnHeader_Click(object sender, RoutedEventArgs e)
{
    GridViewColumnHeader column = (sender as GridViewColumnHeader);
    string sortBy = column.Tag.ToString();
    searchResultListView.Items.SortDescriptions.Clear();
    searchResultListView.Items.SortDescriptions.Add(new SortDescription(sortBy, ListSortDirection.Ascending));
}

当我第一次单击列标题时它可以工作,但是如果我之后单击另一个列标题,则什么也不会发生。我试图一步一步地执行它,但我找不到任何会导致这种情况的东西。

【问题讨论】:

    标签: c# wpf sorting listview


    【解决方案1】:

    检查您是否没有在 xaml 中复制粘贴具有相同标签的列。

    【讨论】:

    • 不,它们都彼此不同。但是我的标签有我刚刚删除的空格。我不知道这是否是真正的原因,但现在它工作得很好。感谢您的帮助
    • 这可能是一个原因。标记作为参数传递给 SortDescriptor 的构造函数。此参数具有“propertyName”的含义,我不确定 propertyName 是否可以包含空格字符。
    【解决方案2】:

    您必须更改排序方向。您正在将升序排序硬编码到排序描述中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-04
      • 2014-10-23
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      相关资源
      最近更新 更多