WPF, kirakati
Az ablak megjelenítéséhez, akkor létre kell hozni egy példányát az ablak osztály, és hívja a módszer Show () vagy ShowDialog ().
ShowDialog () metódus megjeleníti egy modális ablak. A modális ablakok nem teszik lehetővé a felhasználó számára a szülő ablak blokkoló használatának lehetőségét azt az egeret, és a képesség, hogy abba be olyan adatokat, amíg a modális ablak zárva van. Ezen túlmenően, az eljárás ShowDialog () nem tér vissza, amíg a modális ablak zárva van, így a teljesítménye minden után helyezkedik kódot az időt késik. (Ez azonban nem jelenti azt, hogy ebben az időben nem tud semmilyen más kód - például a jelenléte a tapasztalatok futó timer felvezető továbbra is működni fog.) A leggyakrabban használt kód program a következő: kijelző modális ablak, várva annak lezárásáig és utólagos teljesítésében adatok bármely művelet.
Az alábbiakban egy példa segítségével ShowDialog () módszer:
Show () metódus megjeleníti a nem-modális ablakot, amely nem akadályozza a felhasználó hozzáférését bármely más Windows. Továbbá Show () metódus termel a vezérlés visszatér után azonnal kirakatai, hogy kövesse azt a kódot kijelentések azonnal végrehajtható. Hozhatunk létre és kijelző több nem-modális ablakok, és a felhasználó kölcsönhatásba léphet mindet egyszerre.
Abban az esetben, nem-modális ablakok néha szükség van a szinkronizálás kódot, így biztosítva a frissítési információt a második ablakban, ha egyes módosításokat végez az első, és így megszünteti a lehetőségét, hogy a felhasználó érvénytelen adatot.
Az alábbiakban egy példát módszerrel Show ():
A modális ablakok ideális kínál a felhasználó számára egy meghívást, hogy a választás a műtét előtt is folytatható. Például, hogy a Microsoft Word alkalmazást. Ez az alkalmazás mindig megjeleníti az ablak Options (Opciók) Print (Nyomtatás) a szállítási mód módban, arra kényszerítve a felhasználót, hogy a döntést, mielőtt belevágna. Másrészt, ablakok, amelynek célja, hogy szöveget keresni, vagy ellenőrizze a helyesírást a dokumentumban, a Microsoft Word megjeleníti a nem modális mód, amely lehetővé teszi a felhasználó számára, hogy módosítsa a szöveget a fő dokumentum ablakot, amíg a feladat.
Ez bezárja az ablakot ugyanolyan egyszerű módszerrel Bezárás (). Egy másik lehetőség, hogy elrejtse ablakok elől felhasználásával módszerrel elrejtése () vagy beállítási tulajdonság értékeit re rejtett. Ebben, a másik esetben, az ablak nyitva marad, és hozzáférhető a kódot. Általános szabály, hogy akkor van értelme, hogy elrejtse az egyetlen nem-modális ablakok. Az a tény, hogy a fedél felfelé modális ablakok kód továbbra is „befagyott”, amíg az ablak be van zárva, és zárja be a láthatatlan ablakban a felhasználó nem lesz képes.
ablak helymeghatározás
Általában elhelyezni az ablak egyes pontosan meghatározott helyen a képernyőn nincs szükség. Ezekben az esetekben, akkor egyszerűen adja meg az ingatlan értékét WindowStartupLocation CenterOwner és nem kell aggódni. Más esetekben, amelyek, bár kevésbé gyakori, de még mindig ott van, a pontos helyzetét az ablak kell megállapítani, amely magában foglalja a vagyon értéke WindowStartupLocation Kézi és meghatározza a pontos koordinátákat a bal és felső tulajdonságait.
Előfordul, hogy a választás a megfelelő helye és mérete az ablak meg kell fizetni egy kicsit több figyelmet. Vegyük például a következő helyzetet: véletlenül létrehozott egy ablak mérete túl nagy, hogy megjelenjen egy alacsony felbontású kijelzőn. Amikor az alkalmazás egyetlen ablak, akkor a legjobb megoldás az, hogy hozzon létre egy ablak azzal a lehetőséggel, átméretezés. Ha beszélünk egy alkalmazás több úszó ablakok, az ügy bonyolult.
Meg lehet próbálni, csak azért, hogy korlátozzák a helyzet az ablakon, akik támogatták még a legkisebb képernyőkön, de ez valószínűleg irritálja a monitorok felhasználók több új modell (amely a megszerzett monitorok a nagyobb felbontású kifejezetten azzal a céllal, hogy tudni illik a képernyőn tovább) . Ezért nagy valószínűséggel meg kell dönteni a legjobb hely az ablak futási időben. És ez az igény kivonat egy bizonyos mennyiségű alapvető információkat a rendelkezésre álló berendezések kijelző System.Windows.SystemParameters osztályban.
Class SystemParameters támogatja egy hatalmas listát statikus tulajdonságok, amelyek információt a rendszer különböző paramétereit. Például lehet használni annak meghatározására, hogy a felhasználó szerepel többek között a „forró” track (hot követés) és a képesség, hogy drag and drop teljes ablakokat. Abban az esetben, különösen az ablakok osztály SystemParameters hasznos, mert ez biztosítja a két tulajdonság, amelyek információt a méret a jelenlegi képernyő: FullPrimaryScreenHeight és FullPrimaryScreenWidth. Mindkettő nagyon egyszerű, amint azt az alábbi kódot (központosítás az ablak futási idő):
Bár ez a kód megegyezik a használatát ingatlan, amelynek értéke WindowStartupLocation középponti, ez biztosítja a rugalmasságot, hogy végre a különböző logikai és végre elhelyezzük a megfelelő időben.
De még jobb megoldás lehet a SystemParameters.WorkArea téglalap elhelyezni az ablak nyitott területet a képernyőn. Kiszámításánál a munkaterület, ahol Rögzített tálca (vagy bármilyen más „band”, dokkolt az asztalon) nem veszik figyelembe.
Mindkét példa jellemzi az elhelyezése az ablak egy kis hátránya. Amikor Thor tulajdonság értéke az ablak már látható, azonnal ugrik az ablakon, és frissíteni. Ugyanez történik, ha telepíti az ingatlan Balra a következő kódsort. Ennek eredményeként a felhasználók jó látás lehet észrevehető, hogy az ablak mozog kétszer. Sajnos a Window osztály nem olyan eljárást, amely lehetővé teszi, hogy telepíteni mindkét ingatlan egyszerre. Ezért az egyetlen megoldás az elhelyezése az ablak létrehozása után, de még mielőtt megjelenik módszerrel Show () vagy ShowDialog ().
Mentési és visszaállítási információit helyét az ablakok
Között a tipikus követelményeit ablak vonatkozik emlékezve az utolsó helyen. Ez az információ tárolható a felhasználói konfigurációs fájl vagy a Windows rendszerleíró adatbázis.
Ha azt szeretnénk, hogy győződjön meg arról, hogy az információk a helyre egy fontos ablak alatt a konfigurációs fájlban adott felhasználó duplán kattintson a Tulajdonságok csomópont (tulajdonságok) a Solution Explorer ablakban, és válassza a Settings (Beállítások). Ezután adjunk hozzá eljáró csak szinten a felhasználói paraméterek adattípus System.Windows.Rect az alábbiak szerint:

Jelenlétében olyan paraméter könnyen létrehozhat kódot automatikusan elmenti az információkat a mérete és elhelyezkedése az ablak:
Megjegyezzük, hogy a fenti kódot használ RestoreBounds tulajdon. amely a megfelelő méretű (azaz a méret az utolsó ablakban a normális állapot - nem hajtogatott vagy nem hajtogatott), még akkor is, ha az aktuális ablak minimalizálni vagy maximalizálni. (Ez a kényelmi funkció nem volt közvetlenül elérhető a Windows Forms és fel kell hívnia felügyelt API-funkció GetWindowPlacement ()).
Tölteni ezt az információt, amikor szükség van rá, az is könnyen:
Az egyetlen korlátozás ennek a megoldásnak, hogy meg kell teremteni a külön tulajdon minden ablakot, amelyet be kell tartani információt a helyét és méretét. Ha szeretne információt a helyről kitartott különböző ablakok, akkor talán jobb lenne, hogy dolgozzon ki egy rugalmasabb rendszer.