Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
MRT Core ist eine optimierte Version des modernen Windows Resource Management System, das als Teil von the Windows App SDK verteilt wird.
MRT Core verfügt sowohl über Buildzeit- als auch Laufzeitfunktionen. Zur Erstellungszeit erstellt das System einen Index aller verschiedenen Varianten der Ressourcen, die mit Ihrer App verpackt sind. Dieser Index ist der Paketressourcenindex oder PRI und ist auch im Paket Ihrer App enthalten.
Voraussetzungen
So verwenden Sie MRT Core-APIs im Windows App SDK:
- Laden Sie die neueste Version der Windows App SDK herunter, und installieren Sie sie. Weitere Informationen finden Sie unter Get started mit WinUI 3.
- Folgen Sie den Anweisungen, um Ihr erstes WinUI-Projekt zu erstellen oder um das Windows App SDK in einem vorhandenen Projekt zu verwenden.
Weitere Informationen zur Verfügbarkeit von MRT Core im Windows App SDK finden Sie unter release channels.
Package Resource Index-Datei (PRI-Datei)
Jedes App-Paket sollte einen binären Index der Ressourcen in der App enthalten. Dieser Index wird zur Erstellungszeit erstellt und ist in einer oder mehreren PRI-Dateien enthalten. Jede PRI-Datei enthält eine benannte Sammlung von Ressourcen, die als Ressourcenmappe bezeichnet wird.
Eine PRI-Datei enthält tatsächliche Zeichenfolgenressourcen. Eingebettete Binär- und Dateipfadressourcen werden direkt aus den Projektdateien indiziert. Ein Paket enthält in der Regel eine einzelne PRI-Datei pro Sprache mit dem Namen "resources.pri". Die Datei "resources.pri " im Stammverzeichnis jedes Pakets wird automatisch geladen, wenn das ResourceManager-Objekt instanziiert wird.
PRI-Dateien enthalten nur Daten, sodass sie das portable ausführbare Format (PE) nicht verwenden. Sie sind speziell darauf ausgelegt, nur Daten zu enthalten.
Hinweis
Für .NET Apps wird in Windows App SDK Version 0.8 und höher die Dateieigenschaft Build Action für Ressourcendateien in Visual Studio automatisch festgelegt, wodurch die Notwendigkeit manueller project Konfiguration reduziert wird. Version 1.0 führte issue 1674 ein. Dies wurde in 1.1 (aus dem stabilen Kanal) behoben, aber der Fix erfordert .NET SDK 6.0.300 oder höher. Wenn Sie eine ältere Version des .NET SDK verwenden, nutzen Sie bitte die in den Versionshinweisen der Version 1.0 beschriebene Problemumgehung weiterhin.
Zugriff auf App-Ressourcen mit MRT Core
MRT Core bietet verschiedene Möglichkeiten für den Zugriff auf Ihre App-Ressourcen.
Hinweis
In Windows App SDK 1.0 Preview 1 und höher befinden sich MRT Core-APIs im Namespace Microsoft.Windows.ApplicationModel.Resources. In früheren Versionen befinden sie sich im Namespace "Microsoft.ApplicationModel.Resources ".
Grundlegende Funktionalität mit ResourceLoader
Die einfachste Möglichkeit zum programmgesteuerten access Ihrer App-Ressourcen ist die Verwendung der Klasse ResourceLoader. ResourceLoader stellt Ihnen grundlegenden Zugriff auf Zeichenfolgenressourcen aus den Ressourcendateien, referenzierten Bibliotheken oder anderen Paketen bereit.
Erweiterte Funktionalität mit ResourceManager
Die ResourceManager-Klasse enthält zusätzliche Informationen zu Ressourcen, z. B. Enumeration und Inspektion. Dies geht darüber hinaus, was die ResourceLoader-Klasse bereitstellt.
Ein ResourceCandidate -Objekt stellt einen einzelnen konkreten Ressourcenwert und seine Qualifizierer dar, z. B. die Zeichenfolge "Hello World" für Englisch oder "logo.scale-100.jpg" als qualifizierte Bildressource, die für die Skalierungsauflösung 100 spezifisch ist.
Ressourcen, die für eine App verfügbar sind, werden in hierarchischen Auflistungen gespeichert, die Sie mit einem ResourceMap-Objekt access können. Die Klasse ResourceManager gewährt Zugriff auf die verschiedenen obersten ResourceMap-Instanzen, die von der App verwendet werden und den verschiedenen Paketen der App entsprechen. Der Wert "ResourceManager.MainResourceMap " entspricht der Ressourcenzuordnung für das aktuelle App-Paket und schließt alle referenzierten Frameworkpakete aus. Jede ResourceMap wird nach dem Paketnamen benannt, der im Manifest des Pakets angegeben ist. Innerhalb einer ResourceMap befinden sich Teilbäume (siehe ResourceMap.GetSubtree). Die Unterstrukturen entsprechen in der Regel den Ressourcendateien, die die Ressource enthalten.
Der ResourceManager unterstützt nicht nur den Zugriff auf die Zeichenfolgenressourcen einer App, sondern bietet auch die Möglichkeit, die verschiedenen Dateiressourcen aufzulisten und zu überprüfen. Um Konflikte zwischen Dateien und anderen Ressourcen zu vermeiden, die aus einer Datei stammen, befinden sich alle indizierten Dateipfade in einer reservierten "Files" -ResourceMap-Unterstruktur . Die Datei "\Images\logo.png" entspricht beispielsweise dem Ressourcennamen "Files/images/logo.png".
Qualifizieren der Ressourcenauswahl mit ResourceContext
Ressourcenkandidaten werden basierend auf einem bestimmten ResourceContext ausgewählt, bei dem es sich um eine Sammlung von Ressourcenqualifiziererwerten (Sprache, Skalierung, Kontrast usw.) handelt. Ein Standardkontext verwendet die aktuelle Konfiguration der App für jeden Qualifikatorwert, es sei denn, diese wird überschrieben. Beispielsweise können Ressourcen wie Bilder für die Skalierung qualifiziert werden, die von einem Monitor zu einem anderen und somit von einer Anwendungsansicht zu einer anderen variieren. Aus diesem Grund verfügt jede Anwendungsansicht über einen eindeutigen Standardkontext. Immer wenn Sie einen Ressourcenkandidaten abrufen, sollten Sie eine ResourceContext-Instanz übergeben, um den für eine bestimmte Ansicht am besten geeigneten Wert zu erhalten.
Beispiel
Ein Beispiel zur Verwendung der MRT Core-API finden Sie im MRT Core-Beispiel.
Siehe auch
- UWP-Ressourcenverwaltungssystem
- Lokalisieren von Zeichenfolgen in der Benutzeroberfläche und im App-Paketmanifest
- Bilder und Ressourcen laden, abgestimmt auf Skalierung, Thema, hohen Kontrast und andere Vorgaben
- Passen Sie Ihre Ressourcen an die Sprache, die Größe, den hohen Kontrast und andere Merkmale an
Windows developer