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