đôi khi WPF quá phức tạp đối với tôi. Tôi đã có "Window1" của tôi đang nắm giữ một bộ sưu tập của "Group" s. "Nhóm" là một lớp với một bộ sưu tập "Người". Cuối cùng, đây phải là một danh sách liên lạc. Những gì tôi chỉ đơn giản muốn làm là để hiển thị các nhóm với người của mình trong một ListBox, nơi tên nhóm của các nhóm danh sách bằng với thuộc tính tên của lớp của tôi "Groups".WPF: Bộ sưu tập liên kết với Bộ sưu tập vào một ListBox với các nhóm
Tôi đã thử với CollectionViewSource được liên kết với "Bộ sưu tập". Các nhóm được hiển thị chính xác, nhưng các mục trong danh sách bằng với tên nhóm. Vì vậy, mỗi nhóm chỉ có một mục: tên nhóm của nó.
Nhiều ví dụ ở đây cho thấy việc nhóm các mục chỉ với một bộ sưu tập. Những gì tôi có thể làm là đặt tên nhóm là Thuộc tính của "Người". Nhưng sau đó tôi không thể đếm (và đó là thực sự cần thiết): - có bao nhiêu người trong mỗi nhóm - bao nhiêu người trong số đó có "Trạng thái" "Trực tuyến".
Tôi sử dụng LINQ trong lớp "Nhóm" để tính. Cảm ơn mọi lời khuyên giúp tôi bắt đầu.
Điều này là yên tĩnh hữu ích và bằng giải pháp cũ của tôi, nơi tôi có Expander cho mỗi nhóm và ListBox cho Danh bạ. Vấn đề ở đây là, bạn có thể chọn một người cho mỗi danh sách, nhưng tôi cho rằng bạn có thể làm điều đó với một. Tôi cố gắng sao chép giao diện người dùng của danh sách liên hệ Windows Live Messenger 2009. Tôi nghĩ rằng họ chỉ sử dụng một ListBox và Expander như ControlTemplate cho nhóm. Nhưng tôi cũng giả định, họ định nghĩa nhóm là tài sản. Nhưng tôi thực sự không biết, làm thế nào họ có thể đếm những người trực tuyến. Nhân tiện, bạn có quyền với các lớp học của bạn. –
Tại sao bạn không sử dụng điều khiển TreeView để hiển thị dữ liệu phân cấp? – idursun
Bạn hoàn toàn đúng! Tôi nghĩ, điều đó sẽ giải quyết được vấn đề của tôi. Tôi không có câu trả lời cho "lý do". Tôi đã không sử dụng điều khiển TreeView rất nhiều. Nhưng điều này sẽ là tốt nhất cho vấn đề của tôi. Cảm ơn! –