2012-05-08 2 views
6

내 응용 프로그램에 GridView가있는 ListView가 있습니다. 지금은 ListView 그룹을 내 응용 프로그램에 도입하려고합니다. 데이터 소스에 일반적으로 Group1, Group2 및 Group3이 있다고 가정 해보십시오. 요소가 있는지의 여부에 관계없이 3 개의 그룹을 항상 표시하고 싶습니다. 그룹에 요소가 없으면 그룹 제목 아래에 "빈 그룹"메시지를 표시하려고합니다.데이터 소스가 없을 때 "빈 ListView 메시지"를 제공하는 방법

나는 WinRT을 처리하는 기본 방식이 빈 그룹을 표시하지 않으며 여러 시나리오에서 많은 의미를 부여한다고 생각합니다. 이렇게하려면 데이터가 없을 때 목록보기에 더미 항목을 추가 할 수는 있지만 이는 일종의 해킹입니다.

이렇게하려면 더 좋은 방법이 있습니까?

답변

-1

ListView를 Group 객체 컬렉션에 바인딩하면됩니다. 여기서 Group은 정의한 클래스이고 Group1, Group2 및 Group3은 그러한 Group 객체입니다.

그룹 수준 속성 (예 : 제목) 외에 그룹에 Item 개체 컬렉션이 포함되어 있습니다.

ListView의 데이터 형식에서 다른 ListView를 사용하여 각 그룹의 Item 요소를 표시합니다.

GridView를 중첩하면 중첩 된 ScrollViewer가되므로주의해야합니다. 컨트롤 템플릿을 변경하여 내부 GridView에서 ScrollViewer를 제거하려고합니다.

+1

제안 해 주셔서 감사합니다.하지만이 방법이 더미 목록보기 항목을 추가하는 것보다 낫지 않습니다. –

+0

거짓 항목이 필요하지 않으므로 글쎄요? 더미 아이템은 더미 아이템이 원하는 방식으로 표시되도록하기 위해 다소 복잡한 논리가 필요하며 실제 아이템과 같은 방식으로 도청 및 클릭 및 기타 이벤트에 반응하지 않는다고 가정합니다. 이 접근법은 모든 것을 제거합니다. –