WPF MVVM-ben hogyan jelenítsek meg felugró ablakot, olyat, mint amilyet a MessageBox. Show () generál?
Napok mentek el, hogy ezt kerestem és már elegem van plusz ki is futottam az időből.
Amiket találtam a neten, azt zömében nem is értettem.
Már ott tartok, hogy MessageBox.Show() lesz és nem érdekel. :(
Van erre ötletetek?
Prism-t használok amúgy.
Ha valaki látja... :)
Arra jutottam, hogy csinálnék egy külön class-t, ami önmagában független a ViewModel-ektől (meg minden mástól is), és abba két static method-ot, mert nekem kell 1 db, csak leokézható dialog és 1 db, amin van cancel gomb is.
Ha egy külön view-t csinálnék, mint saját "MessageBox", az nemcsak, hogy feleslegesen körülményes, hanem nem a speckó Windows-os felugró ablak lenne. Egyébként az általam készített view hívása is sérti az MVVM alapelveket.
Kérlek, ha valamit tévesen írtam, ne bántsatok. :)
Igen, hogy a ViewModel-ben az ég egy adta világon semmilyen Windows-ra utaló elem ne legyen, ne tudja a VM, ki ő és honnan jön az, amit használ. :D
Nekem egy static osztály volt kényelmes erre a célra, nem gondolom azt, hogy példány kellene belőle. Ha igen, miért? (Nem 100%-ban tiszta. :( )
A projektet én is mindenhol teletettem Interface objektumokkal, de őszintén szólva csak azért, mert azt láttam, hogy úgy szokás illetve van, amit lényegében csak így lehet használni.
De miért jó?
Úgy tudom, hogy pl. az
private ICommand _myCommand
(mint egy példa) bármilyen objektum lehet, ami az ICommand iterface-t megvalósítja. Lényegében automatikusan "kasztolódik".
Node miért nem jó kapásból a
private DelegateCommand _myCommand?
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!