2012-05-04 21 views
5

Tôi cố gắng để thực hiện một phong cách Metro Xử lí Items trang bằng cách sử dụng khuôn khổ MVVM nhẹ sau khi mẫu trong bài viết trên blog này, nhưng sử dụng một ViewModelLocator để cung cấp blendability:Làm cách nào để có được Ánh sáng MVVM hoạt động tốt với Trang mục được nhóm trong Metro?

http://mikaelkoskinen.net/post/winrt-tutorial-mvvm-gridview-semanticzoom.aspx

Tôi đã làm việc này, tiếc là lưới chính nó không hiển thị trong thiết kế (đó là điểm của tôi bằng cách sử dụng MVVM Light). Tôi đã bị ràng buộc tiêu đề mà không có vấn đề vì vậy tôi biết rằng viewmodel được ràng buộc một cách chính xác.

Bạn có ý tưởng nào không?

+0

Tôi đã điều tra thêm điều này bằng cách sử dụng chế độ xem danh sách đơn giản được liên kết với bộ sưu tập có thể quan sát. Trong nhà thiết kế, nó liên kết với bộ sưu tập. Tôi có thể nói điều này bởi vì tôi có thể nhìn thấy các textblocks cứng mã hóa trong datatemplate. Tuy nhiên bất kỳ textblocks được ràng buộc với một tài sản viewmodel (ngay cả khi giá trị được mã hóa cứng) không hiển thị trong thiết kế :( –

+0

Bạn có thể đăng một ví dụ về xaml mà không làm việc? Tôi nghĩ rằng tôi chạy vào này và tôi có ItemsSource của GridView liên kết trực tiếp với viewModel thay vì thông qua một CollectionViewSource – Michael

+0

Filip, @DanRyan, bạn có quản lý để làm cho nó hoạt động không? Tôi có cùng một vấn đề ở đây –

Trả lời

5

Tôi gặp vấn đề tương tự. Vấn đề là, nếu bạn đang sử dụng một CollectionViewSource, mà nó cần phải được một cách rõ ràng, như thế này:

Như MVVM nhẹ tiêm thiết kế thời gian dịch vụ vào viewmodel bạn mong muốn này để nhặt dịch vụ của bạn và đẩy dữ liệu thời gian thiết kế thông qua chế độ xem của bạn tới giao diện người dùng. Nhưng nó không.

Bạn cần phải cung cấp cho nó một thể hiện thiết kế thời gian rõ ràng cho điều này để làm việc:

Có một bài viết hữu ích về using CollectionViewSource in design mode có thể giúp.

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