Ereignisse
Erstellen von KI-Apps und Agents
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
Windows Presentation Foundation (WPF) bietet eine Vielzahl von Dokumentfunktionen, die die Erstellung von hochwertigen Inhalten ermöglichen, auf die einfacher zugegriffen werden kann und die einfacher gelesen werden können als in früheren Windows-Generationen. Neben erweiterten Funktionen und Qualität bietet WPF auch integrierte Dienste für Die Dokumentanzeige, Verpackung und Sicherheit. Dieses Thema enthält eine Einführung in WPF-Dokumenttypen und Dokumentverpackungen.
WPF teilt Dokumente auf der Grundlage ihrer beabsichtigten Verwendung in zwei allgemeine Kategorien auf; Diese Dokumentkategorien werden als "feste Dokumente" und "Flussdokumente" bezeichnet.
Feste Dokumente sind für Anwendungen vorgesehen, die unabhängig von der verwendeten Anzeige- oder Druckerhardware eine präzise "Was Sie sehen, ist das, was Sie bekommen" (WYSIWYG)-Präsentation erfordern. Typische Verwendungsmöglichkeiten für feste Dokumente sind Desktopveröffentlichung, Textverarbeitung und Formularlayout, bei denen die Einhaltung des ursprünglichen Seitendesigns von entscheidender Bedeutung ist. Als Teil des Layouts behält ein festes Dokument die genaue Position von Inhaltselementen unabhängig vom verwendeten Anzeige- oder Druckgerät bei. Beispielsweise wird eine feste Dokumentseite, die auf der 96 DPI-Anzeige angezeigt wird, genau genauso angezeigt, wenn sie auf einen 600 DPI-Laserdrucker ausgegeben wird, als wenn sie auf einen 4800 DPI-Fototypsetter ausgegeben wird. Das Seitenlayout bleibt in allen Fällen gleich, während die Dokumentqualität die Funktionen jedes Geräts maximiert.
Im Vergleich dazu sind Flussdokumente so konzipiert, dass sie die Anzeige und Lesbarkeit optimieren und am besten genutzt werden, wenn die Lesbarkeit das primäre Szenario für die Dokumentnutzung ist. Flussdokumente sind nicht auf ein vordefiniertes Layout festgelegt, sondern passen ihren Inhalt auf Grundlage von Laufzeitvariablen wie Fenstergröße, Geräteauflösung und optionalen Benutzereinstellungen dynamisch an und brechen ihn dynamisch um. Eine Webseite ist ein einfaches Beispiel für ein Flussdokument, in dem der Seiteninhalt dynamisch so formatiert ist, dass es in das aktuelle Fenster passt. Fließdokumente optimieren das Anzeige- und Leseerlebnis für den Benutzer, basierend auf der Laufzeitumgebung. So wird im Sinne der optimalen Lesbarkeit beispielsweise dasselbe Flussdokument auf einem hochauflösenden 19-Zoll-Anzeigegerät anders dynamisch umformatiert als auf einem kleinen PDA-Bildschirm mit 2×3 Zoll. Darüber hinaus verfügen Flussdokumente über eine Reihe integrierter Features, einschließlich Suchfunktionen, Anzeigemodi, die die Lesbarkeit optimieren, und die Möglichkeit, die Größe und Darstellung von Schriftarten zu ändern. Abbildungen, Beispiele und ausführliche Informationen zu Flussdokumenten finden Sie unter Übersicht über Flussdokumente.
.NET Framework bietet eine Reihe vordefinierter Steuerelemente, die die Verwendung von festen Dokumenten, Flussdokumenten und allgemeinem Text in Ihrer Anwendung vereinfachen. Die Anzeige von fixierten Dokumentinhalten wird durch das DocumentViewer-Steuerelement unterstützt. Die Anzeige von Flussdokumentinhalten wird von drei verschiedenen Steuerelementen unterstützt: FlowDocumentReader, FlowDocumentPageViewerund FlowDocumentScrollViewer, die verschiedenen Benutzerszenarien zugeordnet sind (siehe Abschnitte unten). Andere WPF-Steuerelemente bieten ein vereinfachtes Layout zur Unterstützung allgemeiner Textverwendungen (siehe Text in der Benutzeroberflächeunten).
Das DocumentViewer-Steuerelement ist so konzipiert, dass FixedDocument-Inhalte angezeigt werden. Das DocumentViewer-Steuerelement besitzt eine intuitive Benutzeroberfläche mit integrierter Unterstützung für häufig durchgeführte Vorgänge, beispielsweise Druckausgabe, Kopieren in die Zwischenablage, Zoomen und Textsuchfunktionen. Das Steuerelement ermöglicht den Zugriff auf Seiteninhalte über einen vertrauten Scrollmechanismus. Wie alle WPF-Steuerelemente unterstützt DocumentViewer vollständiges oder teilweises Umgestalten, wodurch das Steuerelement visuell nahtlos in nahezu jede Anwendung oder Umgebung integriert werden kann.
DocumentViewer dient zur Anzeige von Inhalten in einem schreibgeschützten Modus. Das Bearbeiten und Ändern von Inhalten ist hier nicht verfügbar und wird nicht unterstützt.
Hinweis
Ausführlichere Informationen zu Merkmalen von Flussdokumenten und deren Erstellung finden Sie unter Flussdokumentübersicht.
Die Anzeige des Inhalts von Flussdokumenten wird durch drei Steuerelemente unterstützt: FlowDocumentReader, FlowDocumentPageViewer, und FlowDocumentScrollViewer.
FlowDocumentReader enthält Features, mit denen Benutzende dynamisch zwischen verschiedenen Anzeigemodi wählen können. Dazu zählen die Anzeigemodi „Einzelne Seite“ (Seite für Seite), „Zwei Seiten“ (Buchleseformat) und „Fensterinhalt verschieben“ (unbeschränkt). Weitere Informationen zu diesen Anzeigemodi finden Sie unter FlowDocumentReaderViewingMode. Wenn Sie nicht die Möglichkeit benötigen, dynamisch zwischen verschiedenen Anzeigemodi zu wechseln, bieten FlowDocumentPageViewer und FlowDocumentScrollViewer einfachere Viewer für fortlaufenden Inhalt, die auf einen bestimmten Anzeigemodus festgelegt sind.
FlowDocumentPageViewer zeigt den Inhalt im Modus „Einzelne Seite“ an, während FlowDocumentScrollViewer den Inhalt im Modus „Fensterinhalt verschieben“ anzeigt. Sowohl FlowDocumentPageViewer als auch FlowDocumentScrollViewer sind auf einen bestimmten Anzeigemodus festgelegt. Vergleichen Sie diese Modi mit FlowDocumentReader und den darin enthaltenen Features, die es den Benutzenden ermöglichen, dynamisch zwischen verschiedenen Anzeigemodi zu wählen (wie durch die FlowDocumentReaderViewingMode-Enumeration bereitgestellt). Allerdings ist dieser Anzeigemodus ressourcenintensiver als FlowDocumentPageViewer oder FlowDocumentScrollViewer.
Eine vertikale Scrollleiste wird standardmäßig immer angezeigt, eine horizontale Scrollleiste nur nach Bedarf. Die Standard-Ui für FlowDocumentScrollViewer enthält keine Symbolleiste; Die IsToolBarVisible-Eigenschaft kann jedoch verwendet werden, um eine integrierte Symbolleiste zu aktivieren.
Neben dem Hinzufügen von Text zu Dokumenten kann Text offensichtlich in der Benutzeroberfläche der Anwendung wie Formularen verwendet werden. WPF enthält mehrere Steuerelemente zum Zeichnen von Text auf dem Bildschirm. Jedes Steuerelement ist auf ein anderes Szenario ausgerichtet und verfügt über eine eigene Liste von Features und Einschränkungen. Im Allgemeinen sollte das TextBlock-Element verwendet werden, wenn eine eingeschränkte Textunterstützung erforderlich ist, z. B. einen kurzen Satz auf einer Benutzeroberfläche. Label kann verwendet werden, wenn eine minimale Textunterstützung erforderlich ist. Weitere Informationen finden Sie unter TextBlock-Übersicht.
Die System.IO.Packaging-APIs bieten eine effiziente Möglichkeit, Anwendungsdaten, Dokumentinhalte und verwandte Ressourcen in einem einzigen Container zu organisieren, auf den einfach zugegriffen werden kann, der portierbar und leicht zu verteilen ist. Eine ZIP-Datei ist ein Beispiel für einen Package Typ, der mehrere Objekte als einzelne Einheit halten kann. Die Packaging-APIs bieten eine Standardimplementierung von ZipPackage, die nach dem Open Packaging Conventions-Standard mit einer Architektur aus XML- und ZIP-Dateien entworfen wurde. Die WPF-Verpackungs-APIs vereinfachen das Erstellen von Paketen und das Speichern und Zugreifen auf Objekte darin. Ein in einem Package gespeichertes Objekt wird als PackagePart ("Teil") bezeichnet. Pakete können auch signierte digitale Zertifikate enthalten, die verwendet werden können, um den Absender eines Teils zu identifizieren und zu überprüfen, ob der Inhalt eines Pakets nicht geändert wurde. Pakete enthalten auch ein PackageRelationship-Feature, mit dem zusätzliche Informationen zu einem Paket hinzugefügt oder bestimmten Teilen zugeordnet werden können, ohne den Inhalt vorhandener Teile tatsächlich zu ändern. Paketdienste unterstützen auch Microsoft Windows Rights Management (RM).
Die WPF-Paketarchitektur dient als Grundlage für eine Reihe von Schlüsseltechnologien:
XPS-Dokumente, die XPS (XML Paper Specification) entsprechen
Microsoft Office "12" Open-XML-Format-Dokumente (.docx).
Benutzerdefinierte Speicherformate für Ihr eigenes Anwendungsdesign.
Basierend auf den Packaging-APIs wurde ein XpsDocument speziell für das Speichern von WPF-Dokumenten mit festem Inhalt entwickelt. Ein XpsDocument ist ein eigenständiges Dokument, das in einem Viewer geöffnet, in einem DocumentViewer-Steuerelement angezeigt, an einen Druckspooler weitergeleitet oder direkt über einen XPS-kompatiblen Drucker ausgegeben werden kann.
Die folgenden Abschnitte enthalten zusätzliche Informationen zu den Package und XpsDocument APIs, die mit WPF bereitgestellt werden.
Mit den WPF-Verpackungs-APIs können Anwendungsdaten und Dokumente in einer einzigen tragbaren Einheit organisiert werden. Eine ZIP-Datei ist einer der am häufigsten verwendeten Typen von Paketen und ist der Standardpakettyp, der mit WPF bereitgestellt wird. Package selbst ist eine abstrakte Klasse, aus der ZipPackage mithilfe einer open-Standard-XML- und ZIP-Dateiarchitektur implementiert wird. Die Open-Methode verwendet ZipPackage, um ZIP-Dateien standardmäßig zu erstellen und zu verwenden. Ein Paket kann drei grundlegende Typen von Elementen enthalten:
Element | Beschreibung |
---|---|
PackagePart | Anwendungsinhalte, Daten, Dokumente und Ressourcendateien. |
PackageDigitalSignature | [X.509-Zertifikat] zur Identifizierung, Authentifizierung und Validierung. |
PackageRelationship | Informationen im Zusammenhang mit dem Paket oder einem bestimmten Teil hinzugefügt. |
Ein PackagePart ("Part") ist eine abstrakte Klasse, die auf ein in einem Packagegespeichertes Objekt verweist. In einer ZIP-Datei entsprechen die Paketteile den einzelnen Dateien, die in der ZIP-Datei gespeichert sind. ZipPackagePart stellt die Standardimplementierung für serialisierbare Objekte bereit, die in einem ZipPackagegespeichert sind. Wie in einem Dateisystem werden Teile, die im Paket enthalten sind, in einer hierarchischen Verzeichnis- oder Ordnerstruktur gespeichert. Mithilfe der WPF-Verpackungs-APIs können Anwendungen mehrere PackagePart Objekte mithilfe eines einzelnen ZIP-Dateicontainers schreiben, speichern und lesen.
Zur Sicherheit kann eine PackageDigitalSignature ("digitale Signatur") Teilen innerhalb eines Pakets zugeordnet werden. Eine PackageDigitalSignature enthält eine [509], die zwei Features bietet:
Identifiziert und authentifiziert den Ersteller des Teils.
Überprüft, ob das Teil nicht modifiziert wurde.
Die digitale Signatur verhindert nicht, dass ein Teil geändert wird, aber eine Überprüfung auf die digitale Signatur schlägt fehl, wenn der Teil in irgendeiner Weise geändert wird. Die Anwendung kann dann geeignete Maßnahmen ergreifen, z. B. das Öffnen des Webparts blockieren oder den Benutzer benachrichtigen, dass das Webpart geändert wurde und nicht sicher ist.
Eine PackageRelationship („Beziehung“) stellt einen Mechanismus zur Zuordnung von zusätzlichen Informationen zum Paket oder zu einem Part innerhalb des Pakets bereit. Eine Beziehung ist eine Einrichtung auf Paketebene, die zusätzliche Informationen zu einem Teil zuordnen kann, ohne den tatsächlichen Teilinhalt zu ändern. Das direkte Einfügen von neuen Daten in den Inhalt des Teils ist in den meisten Fällen nicht praktisch:
Der tatsächliche Typ des Teils und dessen Inhaltsschema ist nicht bekannt.
Selbst wenn bekannt, stellt das Inhaltsschema möglicherweise keine Möglichkeit zum Hinzufügen neuer Informationen bereit.
Der Teil kann digital signiert oder verschlüsselt sein, jegliche Änderungen ausschließend.
Paketbeziehungen bieten eine auffindbare Möglichkeit zum Hinzufügen und Zuordnen zusätzlicher Informationen zu einzelnen Teilen oder zum gesamten Paket. Paketbeziehungen werden für zwei primäre Funktionen verwendet:
Definieren von Abhängigkeitsbeziehungen zwischen einer Komponente und einer anderen.
Definieren von Informationsbeziehungen, durch die Hinweise oder andere Daten zum Teil hinzugefügt werden
Eine PackageRelationship bietet eine schnelle, auffindbare Möglichkeit, Abhängigkeiten zu definieren und weitere Informationen hinzuzufügen, die einem Teil des Pakets oder des Pakets als Ganzes zugeordnet sind.
Abhängigkeitsbeziehungen werden verwendet, um Abhängigkeiten zu beschreiben, die zwischen einem Teil und anderen Teilen bestehen. Ein Paket kann z. B. einen HTML-Teil enthalten, der eins oder mehrere <img> Bild-Tags enthält. Die Bildtags beziehen sich auf Bilder, die sich entweder als andere Teile innerhalb des Pakets oder außerhalb des Pakets befinden (z. B. über das Internet zugänglich). Durch das Erstellen einer PackageRelationship, die einer HTML-Datei zugeordnet ist, können die abhängigen Ressourcen schnell und problemlos ermittelt und darauf zugegriffen werden. Eine Browser- oder Vieweranwendung kann direkt auf die Teilebeziehungen zugreifen und sofort mit der Zusammenstellung der abhängigen Ressourcen beginnen, ohne das Schema zu kennen oder das Dokument zu analysieren.
Ähnlich wie bei einer Notiz oder Anmerkung kann eine PackageRelationship auch verwendet werden, um andere Arten von Informationen zu speichern, die einem Teil zugeordnet werden sollen, ohne den Teilinhalt selbst ändern zu müssen.
Das XML Paper Specification (XPS)-Dokument ist ein Paket, das ein oder mehrere feste Dokumente zusammen mit allen Ressourcen und Informationen enthält, die zum Rendern erforderlich sind. XPS ist außerdem das native Dateiformat des Windows Vista-Druckerspoolers. Ein XpsDocument wird im standardmäßigen ZIP-Dataset gespeichert und kann eine Kombination aus XML- und binären Komponenten wie Bild- und Schriftartdateien enthalten. PackageRelationships werden zum Definieren der Abhängigkeiten zwischen Inhalt und Ressourcen verwendet, die zum vollständigen Rendern eines Dokuments erforderlich sind. Das XpsDocument-Design bietet eine einzige Dokumentlösung mit hoher Genauigkeit, die mehrere Verwendungsmöglichkeiten unterstützt:
Lesen, Schreiben und Speichern von festgelegten Dokumenteninhalten und Ressourcen als einzelne, portable und leicht zu verteilende Datei.
Anzeigen von Dokumenten mit der XPS Viewer-Anwendung.
Ausgeben von Dokumenten im nativen Ausgabeformat des Druckerspoolers von Windows Vista.
Weiterleiten von Dokumenten direkt an einen XPS-kompatiblen Drucker.
Feedback zu .NET Desktop feedback
.NET Desktop feedback ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben:
Ereignisse
Erstellen von KI-Apps und Agents
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenTraining
Modul
Dokumentstandards in Dynamics 365 Business Central verwenden - Training
Planen Sie die Entwicklung von Lösungen mit Dokumenten? In diesem Modul erfahren Sie, wie Sie mit Dokumentdaten und Dokumentstandards in Business Central arbeiten.