gpt4 book ai didi

c# - SortDescription 和自动排序顺序刷新

转载 作者:太空狗 更新时间:2023-10-29 23:02:22 25 4
gpt4 key购买 nike

当我修改绑定(bind)在列表框中的项目的值时,我希望排序顺序应该自动更改。

但事实并非如此。

在这种情况下,我是否调用了 .SortDescriptions.Clear() 方法并重新分配了 SortDescription?

.Refresh() 不起作用。

已编辑

我是这样绑定(bind)和设置数据的;

public Records myRecents;


....

//lbToday is a ListBox.
//ModifiedTime is a DateTime.
this.lbToday.ItemsSource = new ListCollectionView(myRecents);
this.lbToday.Items.SortDescriptions.Add(new SortDescription("ModifiedTime", ListSortDirection.Descending));

当应用第一次启动时,它显示了正确的结果。但是当我修改项目的值(在本例中为“ModifiedTime”属性)时, View 没有改变。然后我重新启动应用程序,它再次显示正确的结果。

EDITED2

这是记录的源代码。

public class Records : ObservableCollection<RecordItem>
{
public Records() { }

}

这是“RecordItem”的源代码

public class RecordItem : INotifyPropertyChanged
{

string queryString; public string QueryString { get { return queryString; } set { queryString = value; Notify("QueryString"); } }

DateTime modifiedTime; public DateTime ModifiedTime { get { return modifiedTime; } set { modifiedTime = value; Notify("ModifiedTime"); } }


public RecordItem() { }
public RecordItem(string qStr)
{
this.queryString = qStr;
this.modifiedTime = DateTime.Now;
}

public event PropertyChangedEventHandler PropertyChanged;
protected void Notify(string propName) { if (this.PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propName)); } }

}

注意

当我在 myRecents(Record 类)中添加一个项目时,它运行良好。仅修改属性时出现问题。

最佳答案

看看 WPF 博士的这篇文章:ItemsControl: 'E' is for Editable Collection

它应该可以帮助您解决问题。

关于c# - SortDescription 和自动排序顺序刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7372205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com