0
이 질문은 this과 같을 수 있지만 구현이 다릅니다. 난 단지항목 클래스의 날짜 값을 기준으로 ObservableCollection을 정렬
내 클래스의 ObservableCollection에 다음 한 나의 새로운 구현을 위해 그 예를 사용하고, 나는 컬렉션 내 윈도우 폰 7 응용 프로그램
public ObservableCollection<CustomClass> myList = new ObservableCollection<CustomClass>();
에서 나는 다음과 같은 방법을 시도 것을 사용하여 내 목록 상자에 데이터를 바인딩하고 하지만 내 클래스
제대로 발생하지 정렬이
public class CustomClass : IComparable<CustomClass>
{
public string Id { get; set; }
public string Name { get; set; }
public string CreatedDate get{ get; set; }
public int CompareTo(CustomClass other)
{
var compareDate1 = DateTime.Parse(CreatedDate);
var compareDate2 = DateTime.Parse(other.CreatedDate);
return compareDate2.CompareTo(compareDate1);
}
}
SUB 클래스
public class ComparingObservableCollection<T> : ObservableCollection<T>
where T : IComparable<T>
{
protected override void InsertItem(int index, T item)
{
if (!Items.Contains<T>(item))
{
try
{
var bigger = Items.First<T>(F => F.CompareTo(item) > 0);
index = Items.IndexOf(bigger);
}
catch
{
index = Items.Count;
}
finally
{
base.InsertItem(index, item);
}
}
}
}
문제는 논리 아니라, 입력 날짜 함께, 내가 코드 아래 년 을 확인하지 않고 다음 십오일 createddates를 조회하고이 동작하지만, DEC/1월 개월
을의 일을 처리해야한다은 UPDATE 내 사용자 정의 클래스는
public class CustomClass : IComparable<CustomClass>
{
public string Id { get; set; }
public string Name { get; set; }
public DateTime Created { get; set; }
private string _CreatedDate;
public string CreatedDate
{
private get
{
return _CreatedDate;
}
set
{
Created = DateTime.Parse(value);
_CreatedDate = value;
}
}
public CustomClass(string id, string name, string created)
{
Id = id;
Name = name;
CreatedDate = created;
}
public int CompareTo(CustomClass other)
{
return CreateDate.Date.DayOfYear.CompareTo(other.CreateDate.Date.DayOfYear);
}
}
내가 그것을 시도하고 또한 제대로 – Raghuveer
가 제대로 작동하지 않는 그 무엇을 정렬하지 내 질문에서 언급? – Stig
날짜별로 정렬하지 않으면 모음의 항목 순서가 올바르지 않습니다. – Raghuveer