Kezdőoldal » Számítástechnika » Programozás » C# WPF-el hogyan érdemes egy...

C# WPF-el hogyan érdemes egy beléptető rendszert készíteni?

Figyelt kérdés

Tehát tegyük fel, hogy van egy adatbázis, hozzá egy API-m, azzal kommunikál. Az alkalmazás indításakor ehhez az autentikációhoz szükséges felületet kell megjeleníteni. A kérdésem az, hogy ez Window, vagy UserControl? Illetve, hogyha UserControl, akkor hogyan oldható meg, hogy a MainWindow elött jelenjen meg és csak a sikeres bejelentkezés után jöjjön létre?

Vagy annak van értelme, hogy maga a MainWindow a login form és utána jelenik meg a többi?


2020. ápr. 19. 18:58
 1/4 A kérdező kommentje:
Amennyiben Window-val érdemes megoldani, akkor az App.xaml-ben kell átírni a StartupUri-t.
2020. ápr. 19. 19:28
 2/4 anonim ***** válasza:
100%

Több mód is van rá.


1) Talán ez a legegyszerűbb. Csinálsz egy saját window-t, amit a program indulásakor (vagy amikor akarod) egy blokkoló dialógusként megjelenítesz. Ha az autentikáció sikerül, akkor továbbengeded.


2) A másik megoldás, amit említettél, a UserControl. A főoldal (vagy ahol meg akarod jeleníteni) ebben az esetben két usercontrolt váltogató oldal. Az egyik a loginfelület, amiről akkor vált át a mainwindow, ha "ellövöd" az eventet, hogy az autentikáció sikeres volt. Ebben az esetben a főoldaladon a bindolt property értékét átállítod, és a usercontrol lecserélődik a valódi tartalomra. Persze ez jóval egyszerűbb, ha nem v-vm mintára építkezel.

2020. ápr. 19. 21:12
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:

Mvvm minta alap egy wpf alkalmazásnál használd.


Készítesz egy MainViewModel osztály, ami a View ViewModelje lesz.

Emelle csinálsz külön egy autentikacioért felelős Service osztályt a ViewModel számára, amit ellenőrzi a adatok helységet (kommunikál az adatbázissal)


A passwordbox textjet nem tudod Bindolni sajna egy propertythez biztonsági okokból. Őszintén finom sincs hogy illik csinálni, de én azt csinálnám hogy belépő gomb command függvény paraméterében atadom a passwordbox vezérlőt. Ezzel a Mvvmet megserted, de nem tudok okosabb megoldást erre.

2020. ápr. 20. 09:41
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:
Én is erre kerestem választ. És a válasz, hogy az MVVM mintát megtartsd: Dependency Properties. Lehet bindelni, csak trükkösebb. :)
2020. szept. 19. 23:12
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!