0
Soru: Bu kodu MVVM modeline tam olarak uyarlamanın en doğru yolu nedir?
tarafından oluşturulan soru Wed, May 8, 2019 12:00 AM
Bir DataGridComboBoxColumn içeren bir DataGrid'im var. Her bir ComboBox aynı açılır listeye sahip olmalıdır: ComboBox'a girilen yeni değerler (ComboBox düzenlenebilir ve önceden bulunmamışsa, listeye yeni değeri eklemek için Enter tuşunu kabul eder). değerleri ve özel bir gri değer. Kullanıcı, geçerli sürümdeki gibi, veri kılavuzuna yeni satırlar ekleyebilmelidir.
ComboBox'taki öğeler BaseVM'den alınır ve BaseVM ve BaseM biraz daha senkronize edilir, daha kesin olarak BaseVM.ChildVMCollection ve BaseM.ChildMCollection. İki koleksiyonu senkronize etmek için daha basit bir yaklaşım bulmaya çalıştım ama başaramadım. ChildVM, ChildM'den ve BaseVM'den BaseM'den miras alınır.
Mümkünse MVVM modeline saygı duymak isterim (uzun vadeli esneklik yarattığını görüyorum).
Bir görünüm modeli fabrikasının kullanımını düşündüm, ancak bu örnek için basitlik için dışarıda bıraktım. Yapıcı ve atmalara yalnızca çağrılar kullanıyorum.
DataGridComboBoxColumn içindeki her bir açılır kutudaki her bir öğe için, her görünüm için bir tane olan (ComboBoxItem) bir ViewModel'e sahip olmam gerektiğini düşünüyorum ve bunun doğru şekilde uygulanmasını istiyorum. Diğer taraftan, ViewModel Modelini elde etmek için bir ViewModel Konumlandırıcısı uygulayabileceğimi düşünüyorum (bu sadece yukarıda belirtilen kodda bir döküm olmasına rağmen).
Belki soru buna devam eder:
Bir DataGrid'de, her ComboBox öğesinin ItemsSource değerini ayrı ayrı ayarlamanın en doğru yolu nedir, böylece içlerindeki her ComboBoxItem belirli bir ViewModel'e sahip mi?
Ben bir acemiyim. Bazı Wikipedia sayfalarını okuma listeme koydum: