Native WPF-APIs zur Unterstützung des Browser-Hostings
Das Hosten von WPF-Anwendungen in Webbrowsern wird von einem Active Document-Server (auch als DocObject bezeichnet) unterstützt, der über den WPF-Host registriert wird. Internet Explorer kann ein aktives Dokument direkt aktivieren und integrieren. Für das Hosten von XBAPs und losen XAML-Dokumenten in Mozilla-Browsern stellt WPF ein NPAPI-Plug-In bereit, das eine ähnlich Hostingumgebung wie der WPF Active Document-Server und Internet Explorer bietet. Die einfachste praktische Möglichkeit, XBAPs und XAML-Dokumente in anderen Browsern und eigenständigen Anwendungen zu hosten, ist über das Webbrowser-Steuerelement von Internet Explorer. Das Webbrowser-Steuerelement stellt die komplexe Hostumgebung des Active Document-Servers bereit, ermöglicht jedoch seinem eigenen Host, diese Umgebung anzupassen und zu erweitern sowie direkt mit dem aktuellen Active Document-Objekt zu kommunizieren.
Warnung
XBAPs erfordern, dass ältere Browser funktionieren, z. B. Internet Explorer und alte Versionen von Firefox. Diese älteren Browser werden in der Regel unter Windows 10 und Windows 11 nicht unterstützt. Moderne Browser unterstützen die für XBAP-Apps erforderliche Technologie aufgrund von Sicherheitsrisiken nicht mehr. Plug-Ins, die XBAPs aktivieren, werden nicht mehr unterstützt. Weitere Informationen finden Sie unter Häufig gestellte Fragen zu browser-gehosteten WPF-Anwendungen (XBAP).
Der WPF Active Document-Server implementiert mehrere gängige Hostingschnittstellen, darunter IOleObject, IOleDocument, IOleInPlaceActiveObject, IPersistMoniker, IOleCommandTarget. Wenn sie im Webbrowser-Steuerelement gehostet werden, können diese Schnittstellen über das vom Objekt zurückgegebene IWebBrowser2::Document-Eigenschaft abgefragt werden.
IOleCommandTarget
Die Implementierung des IOleCommandTarget- von WPF Active Document Server unterstützt zahlreiche navigationsbezogene und browserspezifische Befehle der standardmäßigen OLE-Befehlsgruppe (mit einer NULL-Befehlsgruppen-GUID). Darüber hinaus erkennt sie eine benutzerdefinierte Befehlsgruppe namens CGID_PresentationHost. Derzeit ist nur ein Befehl in dieser Gruppe definiert.
DEFINE_GUID(CGID_PresentationHost, 0xd0288c55, 0xd6, 0x4f5e, 0xa8, 0x51, 0x79, 0xde, 0xc5, 0x1b, 0x10, 0xec);
enum PresentationHostCommands {
PHCMDID_TABINTO = 1
};
PHCMDID_TABINTO weist PresentationHost an, den Fokus abhängig vom Status der Umschalttaste auf das erste oder letzte fokussierbare Element in seinem Inhalt zu setzen.
In diesem Abschnitt
.NET Desktop feedback