0
은 내가 CollectionViewSource을 만들었습니다 그룹화가 완벽하게 작동합니다. 그러나 모든 항목 (그룹 해제 됨)을 포함하는 추가 Tab을 추가하려고했습니다.CollectionViewSource 그룹화 "모든 항목"
이렇게하는 간단한 mvvm 접근 방식이 있습니까? 어떤 도움이라도 대단히 감사하겠습니다.
은 내가 CollectionViewSource을 만들었습니다 그룹화가 완벽하게 작동합니다. 그러나 모든 항목 (그룹 해제 됨)을 포함하는 추가 Tab을 추가하려고했습니다.CollectionViewSource 그룹화 "모든 항목"
이렇게하는 간단한 mvvm 접근 방식이 있습니까? 어떤 도움이라도 대단히 감사하겠습니다.
사용자 지정 CollectionViewGroup을 사용하여 사용자 지정 ListCollectionView를 만드는 것이 기본 개념입니다. 아래는 그 예입니다.
public class CustomGroupListCollectionView : ListCollectionView
{
private readonly CustomGroup _allGroup;
public CustomGroupListCollectionView(IList list)
: base(list)
{
_allGroup = new CustomGroup("All");
foreach (var item in list)
{
_allGroup.AddItem(item);
}
}
public override ReadOnlyObservableCollection<object> Groups
{
get
{
var group = new ObservableCollection<object>(base.Groups.ToList());
group.Add(_allGroup);
return new ReadOnlyObservableCollection<object>(group);
}
}
}
public class CustomGroup : CollectionViewGroup
{
public CustomGroup(object name)
: base(name)
{
}
public void AddItem(object item)
{
ProtectedItems.Add(item);
}
public override bool IsBottomLevel
{
get { return true; }
}
}
완벽하게 작동합니다. 고맙습니다! – gleng
Bill, (xaml에서) 기본 정렬을 어떻게 받고 새 그룹 (모든 항목)에 적용합니까? – gleng
아하,이게 내가 가진 기본적인 생각이야. 정렬 및 필터링과 같은 더 많은 기능을 추가하려면 더 많은 고통이 따릅니다. 나는 그렇게하지 않았다. SortDescriptions의 CollectionChanged 이벤트를 수신 한 다음 이벤트 처리기에서 _allGroup을 수동으로 정렬 할 수 있습니다. –