Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Windows Presentation Foundation (WPF) számos olyan dokumentumfunkciót kínál, amelyek lehetővé teszik a Windows korábbi generációihoz képest egyszerűbben elérhető és olvasható tartalmak létrehozását. A továbbfejlesztett képességek és minőség mellett a WPF integrált szolgáltatásokat is biztosít a dokumentumok megjelenítéséhez, csomagolásához és biztonságához. Ez a témakör bemutatja a WPF-dokumentumok típusait és a dokumentumcsomagolást.
Dokumentumtípusok
A WPF két széles kategóriába sorolja a dokumentumokat a rendeltetésük alapján; ezek a dokumentumkategóriák "rögzített dokumentumok" és "folyamatdokumentumok".
A rögzített dokumentumok olyan alkalmazásokhoz készültek, amelyek a használt kijelzőtől vagy nyomtatóhardvertől függetlenül pontos "amit lát, amit lát" (WYSIWYG) bemutatót igényelnek. A rögzített dokumentumok jellemző felhasználási módja az asztali közzététel, a szövegfeldolgozás és az űrlapelrendezés, ahol az eredeti oldalterv betartása kritikus fontosságú. Az elrendezés részeként a rögzített dokumentum megőrzi a tartalomelemek pontos elhelyezését a használatban lévő megjelenítési vagy nyomtatási eszközétől függetlenül. Például egy 96 dpi-s kijelzőn megtekintett rögzített dokumentumlap pontosan ugyanúgy fog kinézni, amikor egy 600 dpi-s lézernyomtatón vagy egy 4800 dpi-s fototípuskészítőn kerül nyomtatásra. A lapelrendezés minden esetben ugyanaz marad, a dokumentum minősége pedig az egyes eszközök képességeinek maximális kihasználása mellett.
Összehasonlításképpen a folyamatdokumentumok úgy vannak kialakítva, hogy optimalizálják a megtekintést és az olvashatóságot, és a legjobban akkor használják, ha az egyszerű olvasás az elsődleges dokumentumhasználati forgatókönyv. Ahelyett, hogy egy előre definiált elrendezésre állítaná be, a folyamatdokumentumok dinamikusan módosítják és újrafuttatják a tartalmat a futásidejű változók, például az ablakméret, az eszközfeloldás és az opcionális felhasználói beállítások alapján. A weblap egy egyszerű példa egy folyamatdokumentumra, ahol a lap tartalma dinamikusan van formázva, hogy illeszkedjen az aktuális ablakhoz. A folyamatdokumentumok a futtatókörnyezet alapján optimalizálják a felhasználó megtekintési és olvasási élményét. Ugyanez a folyamatdokumentum például dinamikusan átalakítja az optimális olvashatóságot nagy felbontású 19 hüvelykes kijelzőn vagy egy kis 2x3 hüvelykes PDA-képernyőn. Emellett a folyamatdokumentumok számos beépített funkcióval rendelkeznek, beleértve a keresést, az olvashatóságot optimalizáló megtekintési módokat, valamint a betűtípusok méretének és megjelenésének módosítását. A folyamatdokumentumok áttekintésében illusztrációkat, példákat és részletes információkat talál a folyamatdokumentumokról.
Dokumentumvezérlők és szövegelrendezés
A .NET-keretrendszer előre összeállított vezérlők készletét biztosítja, amelyek leegyszerűsítik a rögzített dokumentumok, a folyamatdokumentumok és az általános szövegek használatát az alkalmazásban. A rögzített dokumentumtartalom megjelenítése a DocumentViewer vezérlővel támogatott. A folyamatdokumentum tartalmának megjelenítését három különböző vezérlő támogatja: FlowDocumentReader, FlowDocumentPageViewerés FlowDocumentScrollViewer hogy melyik megfeleltethető a különböző felhasználói forgatókönyveknek (lásd az alábbi szakaszokat). Más WPF-vezérlők egyszerűsített elrendezést biztosítanak az általános szöveghasználatok támogatásához (lásd a felhasználói felület szövegét alább).
Rögzített dokumentumvezérlő – DocumentViewer
A DocumentViewer vezérlő úgy lett tervezve, hogy FixedDocument tartalmat jelenítsen meg. A DocumentViewer vezérlő intuitív felhasználói felületet biztosít, amely beépített támogatást nyújt a gyakori műveletekhez, beleértve a nyomtatási kimenetet, a vágólapra másolást, a nagyítást és a szövegkeresési funkciókat. A vezérlő egy jól ismert görgetési mechanizmuson keresztül biztosít hozzáférést a tartalomoldalakhoz. Mint minden WPF-vezérlő, DocumentViewer a teljes vagy részleges restilinget is támogatja, így a vezérlő vizuálisan integrálható gyakorlatilag bármilyen alkalmazásba vagy környezetbe.
DocumentViewer úgy van kialakítva, hogy a tartalmat kizárólag olvasható formában jelenítse meg; a tartalom szerkesztése vagy módosítása nem lehetséges, és nem támogatott.
Folyamatdokumentum-vezérlők
Megjegyzés:
A folyamatdokumentum funkcióiról és létrehozásának módjáról további információt a Folyamatdokumentum áttekintése című témakörben talál.
A folyamatdokumentum tartalmának megjelenítését három vezérlő támogatja: FlowDocumentReader, FlowDocumentPageViewerés FlowDocumentScrollViewer.
FlowDocumentReader
FlowDocumentReader Olyan funkciókat tartalmaz, amelyek lehetővé teszik a felhasználó számára, hogy dinamikusan válasszon a különböző megjelenítési módok közül, beleértve az egyoldalas (lap-at-a-time) megjelenítési módot, a kétoldalas (könyvolvasási formátum) megjelenítési módot és a folyamatos görgetési (alulról lefelé nem álló) megjelenítési módot. További információ ezekről a megtekintési módokról: FlowDocumentReaderViewingMode. Ha nincs szüksége arra, hogy dinamikusan váltson a különböző megjelenítési módok között, a FlowDocumentPageViewer és a FlowDocumentScrollViewer kisebb erőforrás-igényű tartalommegjelenítőket biztosítanak, amelyek egy adott megjelenítési módban rögzítettek.
FlowDocumentPageViewer és FlowDocumentScrollViewer
FlowDocumentPageViewer A tartalmakat lapozási módban jeleníti meg, míg FlowDocumentScrollViewer a tartalmat folyamatos görgetési módban jeleníti meg. Mindkettő FlowDocumentPageViewer , és FlowDocumentScrollViewer egy adott megtekintési módhoz van rögzítve. FlowDocumentReaderHasonlítsa össze azokkal a funkciókkal, amelyek lehetővé teszik a felhasználó számára, hogy dinamikusan válasszon a különböző megtekintési módok közül (az FlowDocumentReaderViewingMode enumerálás által biztosítottak szerint), annak árán, hogy erőforrás-igényesebb, mint FlowDocumentPageViewer vagy FlowDocumentScrollViewer.
Alapértelmezés szerint mindig megjelenik egy függőleges görgetősáv, és szükség esetén egy vízszintes görgetősáv is láthatóvá válik. Az alapértelmezett felhasználói felület FlowDocumentScrollViewer nem tartalmaz eszköztárat, IsToolBarVisible a tulajdonság azonban a beépített eszköztár engedélyezésére használható.
Szöveg a felhasználói felületen
Amellett, hogy szöveget ad hozzá a dokumentumokhoz, a szöveg természetesen használható az alkalmazás felhasználói felületén, például az űrlapokon. A WPF több vezérlőt is tartalmaz, amelyekkel szöveget rajzolhat a képernyőre. Minden vezérlő más-más forgatókönyvre irányul, és saját funkciókkal és korlátozásokkal rendelkezik. Általában a TextBlock elemet kell használni, ha korlátozott szövegtámogatásra van szükség, például egy rövid mondatot egy felhasználói felületen (UI). Label akkor használható, ha minimális szövegtámogatásra van szükség. További információ: TextBlock – Áttekintés.
Dokumentum csomagolása
Az System.IO.Packaging API-k hatékony eszközként szolgálnak az alkalmazásadatok, a dokumentumtartalmak és a kapcsolódó erőforrások egyetlen, könnyen hozzáférhető, hordozható és könnyen terjeszthető tárolóban való rendszerezésére. A ZIP-fájlok egy példa egy Package olyan típusra, amely képes több objektumot egyetlen egységként tartani. A csomagolási API-k xml- és ZIP-fájlarchitektúrával rendelkező Open Packaging Conventions szabványt használó alapértelmezett ZipPackage implementációt biztosítanak. A WPF csomagolási API-k megkönnyítik a csomagok létrehozását, valamint a bennük lévő objektumok tárolását és elérését. Egy, a Package-ban tárolt objektumot "PackagePart" („résznek” nevezik). A csomagok olyan aláírt digitális tanúsítványokat is tartalmazhatnak, amelyek egy rész kezdeményezőjének azonosítására és annak ellenőrzésére szolgálnak, hogy a csomag tartalma nem módosult-e. A csomagok olyan PackageRelationship funkciót is tartalmaznak, amely lehetővé teszi további információk hozzáadását egy csomaghoz, vagy adott részekhez társítható anélkül, hogy ténylegesen módosítaná a meglévő alkatrészek tartalmát. A csomagszolgáltatások a Microsoft Windows Rights Managementet (RM) is támogatják.
A WPF-csomag architektúrája számos kulcsfontosságú technológia alapjaként szolgál:
Az XML-papír specifikációjának (XPS) megfelelő XPS-dokumentumok.
Microsoft Office "12" open XML formátumú dokumentumok (.docx).
Egyéni tárolási formátumok saját alkalmazástervezéshez.
A csomagolási API-k alapján egy XpsDocument kifejezetten WPF-hez készült, hogy rögzített tartalmú dokumentumokat tároljon. Az an XpsDocument olyan önálló dokumentum, amely megnyitható egy megjelenítőben, megjeleníthető egy DocumentViewer vezérlőben, egy nyomtatási sorba irányítva, vagy közvetlenül egy XPS-kompatibilis nyomtatóra irányítja a kimenetet.
A következő szakaszok további információkat nyújtanak a WPF-hez biztosított Package és XpsDocument API-król.
Csomagösszetevők
A WPF csomagolási API-k lehetővé teszik az alkalmazásadatok és dokumentumok egyetlen hordozható egységbe rendezését. A ZIP-fájl az egyik leggyakoribb csomagtípus, és a WPF-hez biztosított alapértelmezett csomagtípus. Package maga egy absztrakt osztály, amely ZipPackage nyílt standard XML- és ZIP-fájlarchitektúra használatával implementálható. A Open metódus alapértelmezés szerint ZIP-fájlok létrehozására és használatára használható ZipPackage . A csomagok három alapvető elemtípust tartalmazhatnak:
| Termék | Leírás |
|---|---|
| PackagePart | Alkalmazástartalmak, adatok, dokumentumok és erőforrásfájlok. |
| PackageDigitalSignature | [X.509-tanúsítvány] azonosításhoz, hitelesítéshez és ellenőrzéshez. |
| PackageRelationship | A csomaghoz vagy egy adott részhez kapcsolódó információk hozzáadva. |
CsomagAlkatrészek
A PackagePart ("rész") egy absztrakt osztály, amely egy adott helyen tárolt Packageobjektumra hivatkozik. A ZIP-fájlokban a csomagrészek a ZIP-fájlban tárolt egyes fájloknak felelnek meg. ZipPackagePart biztosítja a ZipPackage-ban tárolt szerializálható objektumok alapértelmezett implementációját. A fájlrendszerhez hasonlóan a csomag részei hierarchikus könyvtárban vagy "mappastílusú" szervezetben vannak tárolva. A WPF csomagolási API-k használatával az alkalmazások egyetlen ZIP-fájltároló használatával több PackagePart objektumot is írhatnak, tárolhatnak és olvashatnak.
PackageDigitalSignatures
A biztonság érdekében a PackageDigitalSignature csomag részeihez ("digitális aláírás") társítható. Az A PackageDigitalSignature tartalmaz egy [509]-et, amely két funkciót biztosít:
Azonosítja és hitelesíti a rész létrehozóját.
Ellenőrzi, hogy a rész nem lett-e módosítva.
A digitális aláírás nem zárja ki egy rész módosítását, de a digitális aláírás ellenőrzése sikertelen lesz, ha a rész bármilyen módon módosul. Az alkalmazás ezután elvégezheti a megfelelő műveletet – például letilthatja az alkatrész megnyitását, vagy értesítheti a felhasználót arról, hogy az alkatrész módosult, és nem biztonságos.
Csomagkapcsolatok
A PackageRelationship ("kapcsolat") olyan mechanizmust biztosít, amellyel további információkat társíthat a csomaghoz vagy a csomag egy részéhez. A kapcsolat egy csomagszintű létesítmény, amely további információkat társíthat egy részhez a tényleges résztartalom módosítása nélkül. Az új adatok közvetlen beszúrása a résztartalomba általában sok esetben nem praktikus:
Az alkatrész és a tartalomséma tényleges típusa nem ismert.
Még ha ismert is, előfordulhat, hogy a tartalomséma nem biztosít új információk hozzáadását.
Előfordulhat, hogy a rész digitálisan alá van írva vagy titkosítva van, ami kizárja a módosításokat.
A csomagkapcsolatok felderíthető eszközökkel bővíthetők és társíthatók további információk az egyes részekhez vagy a teljes csomaghoz. A csomagkapcsolatok két elsődleges függvényhez használhatók:
Függőségi kapcsolatok definiálása egyik részről a másikra.
Olyan adatkapcsolatok definiálása, amelyek jegyzeteket vagy más, a részhez kapcsolódó adatokat adnak hozzá.
Az A PackageRelationship gyors és felderíthető eszközöket biztosít a függőségek meghatározásához és a csomag vagy a csomag egészéhez kapcsolódó egyéb információk hozzáadásához.
Függőségi kapcsolatok
A függőségi kapcsolatok olyan függőségek leírására szolgálnak, amelyeket az egyik rész más részekhez hoz. Előfordulhat például, hogy egy csomag tartalmaz egy HTML-részt, amely egy vagy több <img> képcímkét tartalmaz. A képcímkék olyan képekre hivatkoznak, amelyek a csomagon belül vagy a csomagon kívül találhatóak (például az interneten keresztül érhetők el). PackageRelationship A HTML-fájlhoz társított fájlok létrehozása gyors és egyszerűvé teszi a függő erőforrások felderítését és elérését. A böngésző- vagy megjelenítőalkalmazások közvetlenül hozzáférhetnek a részkapcsolatokhoz, és azonnal megkezdhetik a függő erőforrások összeállítását anélkül, hogy ismerné a sémát, vagy elemezné a dokumentumot.
Információs kapcsolatok
A jegyzethez vagy széljegyzethez hasonlóan más típusú információk tárolására is használható, PackageRelationship amelyek egy részhez társíthatók anélkül, hogy ténylegesen módosítania kellene magát a résztartalmat.
XPS-dokumentumok
Az XML Paper Specification (XPS) dokumentum egy olyan csomag, amely egy vagy több rögzített dokumentumot tartalmaz a rendereléshez szükséges összes erőforrással és információval együtt. Az XPS a Windows Vista nyomtatási sor natív fájlformátuma is. Az an XpsDocument standard ZIP-adatkészletben van tárolva, és xml- és bináris összetevők, például kép- és betűfájlok kombinációját is tartalmazhatja. A PackageRelationships a tartalom és a dokumentum teljes megjelenítéséhez szükséges erőforrások közötti függőségek meghatározására szolgál. A XpsDocument kialakítás egyetlen, nagy megbízhatóságú dokumentummegoldást biztosít, amely több felhasználási lehetőséget is támogat:
Rögzített dokumentumtartalmak és -erőforrások egyetlen, hordozható és könnyen terjeszthető fájlként való olvasása, írása és tárolása.
Dokumentumok megjelenítése az XPS Viewer alkalmazással.
Dokumentumok kimenete a Windows Vista natív nyomtatásisor-kimeneti formátumában.
Dokumentumok átirányítása közvetlenül EGY XPS-kompatibilis nyomtatóra.
Lásd még
.NET Desktop feedback