Tôi có hai thẻ dữ liệu trong một chế độ xem duy nhất nhưng các bộ sưu tập là ItemsSource của các thẻ dữ liệu này nằm trong các Mô hình chế độ xem khác nhau. Vì vậy, nó có thể ràng buộc hai datagrids với các bộ sưu tập trong hai mô hình xem khác nhau?Chế độ xem có thể có hai Mô hình xem là Ngữ cảnh dữ liệu của nó không?
6
A
Trả lời
8
Go cho một mô hình quan điểm kết hợp cả hai:
public class ViewModelA {
public ObservableCollection<CustomClass> Items { get; set; }
/* properties, etc. */
}
public class ViewModelB {
/* properties, etc. */
}
public class CombiningViewModel {
public ViewModelA A { get; set; }
public ViewModelB B { get; set; }
}
ràng buộc có thể được thực hiện như
<DataGrid ItemsSource="{Binding A.Items}">
<!-- Sample, not complete -->
</DataGrid>
0
Bạn có thể đặt DataContext cho mỗi DataGrid thay vì cho chế độ xem vùng chứa.
<Grid>
<DataGrid ... DataContext="..." />
<DataGrid ... DataContext="..." />
</Grid>
Hoặc không sử dụng một DataContext và Bind để các mô hình trực tiếp
<DataGrid ItemsSource="{Binding Source={StaticResource ...}}" />
1
Không, không trực tiếp. Bạn không có tùy chọn mặc dù:
Bạn có thể đặt DataContext của quan điểm với chính nó, sau đó phơi bày mỗi ViewModel thông qua một tài sản riêng và liên kết với các thuộc tính:
public class MyView : Window
{
public MyView()
{
this.DataContext = this;
}
public ViewModel1 FirstViewModel { get; set; }
public ViewModel2 SecondViewModel { get; set; }
}
Hoặc bạn có thể làm cho một viewmodel wrapper mà hoặc mở rộng (kế thừa từ) một trong các mô hình chế độ xem hoặc kết thúc chúng cả hai và bề mặt các thuộc tính thích hợp:
public class MyCompositeViewModel
{
public ViewModel1 FirstViewModel { get; set; }
public ViewModel2 SecondViewModel { get; set; }
}
Các vấn đề liên quan
- 1. MVC: Trình điều khiển chế độ xem mô hình - Chế độ xem có gọi là Mô hình không?
- 2. chế độ xem backbonejs không có mô hình
- 3. nhận dữ liệu mô hình cho chế độ xem backbone.js
- 4. ViewModel của tôi có thể xem ObservableCollection của Chế độ xem hoặc Chế độ xem không?
- 5. Trình xem chế độ xem mô hình là gì?
- 6. Tôi có thể sử dụng chế độ xem cơ sở dữ liệu làm mô hình ở Django không?
- 7. tạo mô hình django cho cơ sở dữ liệu hiện có/chế độ xem sql?
- 8. Mô hình chế độ xem chung?
- 9. Dữ liệu từ hai bảng vào một chế độ xem
- 10. Trình xem chế độ xem mô hình, cách chuyển đối tượng giữa chế độ xem?
- 11. chuyển đổi chế độ xem của hai chế độ xem trong hình động khối lập phương
- 12. Android: Có thể tạo bản sao Chế độ xem không?
- 13. Định vị chế độ xem dưới hai chế độ xem (hoặc chế độ xem thấp nhất)
- 14. tạo nếu không có chế độ xem?
- 15. Có thể che giấu Chế độ xem trong Android không?
- 16. SlickGrid Chế độ xem dữ liệu là gì?
- 17. Dữ liệu cũ trong Mô hình Chế độ xem MVVM với phụ thuộc tiêm
- 18. Tôi có thể gọi chế độ xem từ trong chế độ xem khác không?
- 19. MVC3 Hai hành động điều khiển có thể trả về một chế độ xem không?
- 20. Có thể đặt một chế độ xem trên một chế độ xem khác trong Android không?
- 21. Cách đặt dữ liệu mô hình trong ActionFilterAttribute khi sử dụng chế độ xem đã nhập
- 22. Trong MVVM là DataTemplates được coi là Chế độ xem khi UserControls là Chế độ xem?
- 23. Cách tạo chế độ xem từ ảnh toàn cảnh 360 độ. (như chế độ xem phố)
- 24. Ajax.ActionLink đăng toàn bộ mô hình từ chế độ xem?
- 25. Chế độ xem trong cơ sở dữ liệu có thể cập nhật được không?
- 26. Có thể tải chế độ xem phân tách bên trong chế độ xem chi tiết của một chế độ xem khác không?
- 27. Tôi có nên sử dụng lại các mô hình xem ở các chế độ xem khác nhau không?
- 28. Sails.js - chuyển dữ liệu sang chế độ xem
- 29. Có thể tự động xoay chế độ xem phương thức chứ không phải chế độ xem của bố cục không?
- 30. M-V-VM, Mô hình có bị rò rỉ vào Chế độ xem không?
+1 Tôi cũng sẽ sử dụng một ViewModel tổng hợp trong trường hợp này. –