Hirdetés
Új hozzászólás Aktív témák
-
leslie23
tag
MVVM kapcsán lenne egy általános kérdésem, amire eddig nem találtam igazán jó választ.
Hogyan érdemes a Model változását jelezni a ViewModel felé? Van egy ObservableCollection ami ViewModeleket tartalmaz, ez van egy DataGridre kötve. A ViewModel lényegében wrapper a Model körül, viszont van olyan dátumom amit a ViewModel formázott stringként ad vissza a Modelből. Ha egyszerre mondjuk 10 db elem (ViewModel) dátum értékét akarom módosítani, akkor három lehetőség jutott eszembe, de egyiket sem érzem túl jónak.
Most formázott stringként adom be a ViewModelnek a beállítani kívánt értéket, a setben alakítom DateTime-má, ami bekerül a mögöttes Modelbe és a setter hívja a PropertyChanged-et is. Ez a kétszeri parse miatt nem tűnik optimálisnak.
A másik opció, hogy a Modelem implementálja az INotifyPropertyChanged-et, ezt szívem szerint kerülném, nem érzem túl jó elgondolásnak, én úgy értelmezem, hogy ez kizárólag a ViewModel feladata lenne.
A harmadik, hogy a ViewModel is DateTime-ot tartalmaz és egy ValueConverter alakítja a UI-hoz az értéket a megfelelő formátumra. Érzésre talán ez a legelegánsabb, csak ha van 10 ilyen esetem (dátumformátumok, stringek, stb.) akkor kell egy rakás ValueConverter.
Mi lehetne ilyenkor best practice?
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Ilyen olcsó sem volt még egy Apple notebook
- Hardcore café
- Alkoholista nevelde
- exHWSW - Értünk mindenhez IS
- NOTEBOOK / NETBOOK / Mac beárazás
- Micro Four Thirds
- Gitáros topic
- MIUI / HyperOS topik
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Milyen Blu-ray írót?
- További aktív témák...
- BESZÁMÍTÁS! ASRock A520M R5 4500 8GB DDR4 512GB SSD RTX 3080 10GB Zalman T3 Plus DeepCool 400W
- Újszerű Acer Nitro 5 - 17.3" QHD 165Hz - i9-12900H - 32GB - 1TB - RTX 4060 - Win11
- GYÖNYÖRŰ iPhone 13 Pro Max 128GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS4160
- BESZÁMÍTÁS! MSI B450M R5 5600X 16GB DDR4 512GB SSD RTX 3060Ti 8GB Rampage SHIVA EVGA 700W
- Apple iPhone 15 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

