Mam dwa datagrids w jednym widoku, ale kolekcje, które są ItemsSource tych datagrids są w różnych View Models. Czy możliwe jest powiązanie tych dwóch datagridów z kolekcjami w dwóch różnych modelach widoku?Czy widok może mieć dwa modele widoku jako kontekst danych?
6
A
Odpowiedz
8
pójść na modelu widoku łącząc oba:
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; }
}
Wiązanie można zrobić jak
<DataGrid ItemsSource="{Binding A.Items}">
<!-- Sample, not complete -->
</DataGrid>
0
Można ustawić DataContext dla każdej DataGrid, a nie dla widoku kontenera.
<Grid>
<DataGrid ... DataContext="..." />
<DataGrid ... DataContext="..." />
</Grid>
Albo nie używać DataContext i wiążą się z modeli bezpośrednio
<DataGrid ItemsSource="{Binding Source={StaticResource ...}}" />
1
Nie, nie bezpośrednio. Masz opcje choć:
Można ustawić DataContext z myślą o sobie, a następnie wystawiać każdy ViewModel przez oddzielny nieruchomości i wiążą się z tymi właściwościami:
public class MyView : Window
{
public MyView()
{
this.DataContext = this;
}
public ViewModel1 FirstViewModel { get; set; }
public ViewModel2 SecondViewModel { get; set; }
}
Albo można zrobić ViewModel owijkę, która albo rozciąga się (dziedziczy) z jednej z modeli widoków, albo owija je i powierzchnie odpowiednich właściwości:
public class MyCompositeViewModel
{
public ViewModel1 FirstViewModel { get; set; }
public ViewModel2 SecondViewModel { get; set; }
}
Powiązane problemy
- 1. Czy widżet domowy może mieć kontekst?
- 2. jak mieć dwa modele odwołać wzajemnie Django
- 3. Czy działanie może mieć dwa narzędzia?
- 4. Ogólne modele widoku?
- 5. Szablon dwa modele w jednym widoku - kręgosłup/marionetka
- 6. ASP.NET MVC - czy partialny widok może mieć kontroler?
- 7. Jedna tabela - dwa modele
- 8. Czy można mieć indeksowany widok w MySQL?
- 9. Czy niestandardowy widok może być używany jako element TabItem?
- 10. Czy modele widoku używane są w szynach?
- 11. widok ogólny oparty na klasie dodatkowy kontekst
- 12. Relacje danych jako kontekst wyszukiwania w Marklogic
- 13. Widok Django, modele, formularz, nazwa aplikacji
- 14. Czy NetBeans 7.4 może mieć JDK 1.6 jako domyślną platformę?
- 15. Przekaż dwa modele, aby wyświetlić
- 16. Czy funkcja Twig_SimpleFunction może modyfikować kontekst?
- 17. Czy klasa może nie mieć konstruktora?
- 18. Czy ViewBag może mieć wartość NULL w MVC4?
- 19. Android: Czy można mieć dwa widoki powierzchni jeden na drugim?
- 20. Jak mieć kontekst ochrony w kontekście dziecięcym
- 21. Segue między dwa kontrolery widoku
- 22. Dlaczego kontekst wiosny jest ładowany dwa razy?
- 23. odpytywanie modele w Django (dwa poziomy głębokości)
- 24. Nakładka widok w widoku listy?
- 25. Czy operator funkcji może mieć aliasy?
- 26. Czy element HTML może mieć dowolne atrybuty?
- 27. Czy zadanie może mieć wiele osób oczekujących?
- 28. Czy delegat może mieć parametr opcjonalny?
- 29. Knockout Kontekst danych składowych 3.2
- 30. Czy dwa deklaratywne modele SQLAlchemy mają tę samą deklaratywną bazę danych()?
+1 W tym przypadku wybrałbym również kompozytowy ViewModel. –