2012-05-08 21 views
6

Ứng dụng của tôi có một ListView với GridLayout. Tôi hiện đang cố gắng giới thiệu các nhóm ListView vào ứng dụng của mình. Giả sử, nguồn dữ liệu thường sẽ có Group1, Group2 và Group3. Tôi muốn hiển thị tất cả 3 nhóm tất cả các thời gian bất kể có yếu tố trong nó hay không. Khi không có phần tử nào trong một nhóm, tôi muốn hiển thị thông báo "nhóm trống" dưới tiêu đề nhóm.Làm thế nào để cung cấp cho một "Empty ListView tin nhắn" khi không có nguồn dữ liệu

Tôi nghĩ cách mặc định là WinRT xử lý nó không phải là để hiển thị nhóm trống và nó có ý nghĩa rất nhiều trong nhiều trường hợp. Để làm điều này, tôi biết rằng tôi có thể thêm một mục giả vào chế độ xem danh sách khi không có dữ liệu, nhưng đây là loại hacky.

Vì vậy, có cách nào tốt hơn để thực hiện việc này không?

Trả lời

-1

Chỉ cần ràng buộc ListView của bạn vào một tập hợp các đối tượng nhóm (trong đó nhóm là lớp bạn xác định và nhóm1, nhóm2 và nhóm3 là các đối tượng nhóm như vậy).

Ngoài các thuộc tính cấp nhóm (chẳng hạn như một tiêu đề), có một nhóm chứa một tập hợp các đối tượng mục.

Trong bảng kê dữ liệu của ListView, hãy sử dụng một ListView khác để hiển thị các phần tử Mục cho mỗi Nhóm.

Hãy cẩn thận, việc lồng ghép GridView sẽ dẫn đến các trình cuộn lồng nhau. Bạn sẽ muốn loại bỏ ScrollViewer khỏi GridViews bên trong bằng cách thay đổi mẫu điều khiển của chúng.

+1

Cảm ơn các đề xuất, nhưng tôi không thấy cách này tốt hơn là thêm mục danh sách giả mạo ... –

+0

Vâng, bởi vì bạn không cần một mặt hàng giả? Tôi giả định rằng một mặt hàng giả sẽ yêu cầu logic khá phức tạp để đảm bảo mục giả được hiển thị theo cách bạn muốn và không phản ứng với các thao tác nhấn và nhấp chuột và các sự kiện khác theo cách mục thực. Cách tiếp cận này loại bỏ tất cả điều đó. –

Các vấn đề liên quan