Anpassen von Ressourcen mit Qualifizierern für Sprache, Skalierung, hohen Kontrast und anderen QualifizierernTailor your resources for language, scale, high contrast, and other qualifiers

In diesem Thema wird das allgemeine Konzept der Ressourcenqualifizierer erläutert, wie sie verwendet werden und wozu die einzelnen Qualifizierernamen dienen.This topic explains the general concept of resource qualifiers, how to use them, and the purpose of each of the qualifier names. Unter resourcecontext. qualifiervalues finden Sie eine Verweis Tabelle mit allen möglichen Qualifiziererwerten.See ResourceContext.QualifierValues for a reference table of all the possible qualifier values.

Ihre APP kann Assets und Ressourcen laden, die auf Lauf Zeit Kontexte zugeschnitten sind, wie z. b. Anzeige Sprache, hoher Kontrast, Anzeige Skalierungsfaktorund viele andere.Your app can load assets and resources that are tailored to runtime contexts such as display language, high contrast, display scale factor, and many others. Die Vorgehensweise besteht darin, die Ordner oder Dateien Ihrer Ressourcen so zu benennen, dass Sie mit den Qualifizierernamen und Qualifiziererwerten übereinstimmen, die diesen Kontexten entsprechen.The way you do this is to name your resources’ folders or files to match the qualifier names and qualifier values that correspond to those contexts. Beispielsweise möchten Sie, dass Ihre APP einen anderen Satz von Image-Assets im Modus für hohe Kontraste lädt.For example, you may want your app to load a different set of image assets in high contrast mode.

Weitere Informationen zu einer Werterhöhung Ihrer App durch Lokalisierung finden Sie unter Globalisierung und Lokalisierung.For more info about the value proposition of localizing your app, see Globalization and localization.

Qualifizierer, qualifiziererwert und QualifiziererQualifier name, qualifier value, and qualifier

Ein qualifizierername ist ein Schlüssel, der einem Satz von Qualifiziererwerten zugeordnet wird.A qualifier name is a key that maps to a set of qualifier values. Im Gegensatz dazu sind der qualifizierername und die Qualifiziererwerte.Here are the qualifier name and qualifier values for contrast.

KontextContext QualifizierernameQualifier name QualifiziererwerteQualifier values
Die Einstellung für den hohen KontrastThe high contrast setting Kontrastcontrast Standard, hoch, schwarz, weißstandard, high, black, white

Zum Erstellen eines Qualifizierers kombinieren Sie einen Qualifizierernamen mit einem qualifiziererwertYou combine a qualifier name with a qualifier value to form a qualifier. <qualifier name>-<qualifier value> das Format eines Qualifizierers.<qualifier name>-<qualifier value> is the format of a qualifier. contrast-standard ein Beispiel für einen Qualifizierer.contrast-standard is an example of a qualifier.

Daher ist der Satz von Qualifizierern contrast-standard ,, contrast-high contrast-black und contrast-white .So, for high contrast, the set of qualifiers is contrast-standard, contrast-high, contrast-black, and contrast-white. Bei Qualifizierernamen und Qualifikations Werten wird die Groß-/KleinschreibungQualifier names and qualifier values are not case sensitive. contrast-standardUnd Contrast-Standard sind z. b. derselbe Qualifizierer.For example, contrast-standard and Contrast-Standard are the same qualifier.

Verwenden von Qualifizierern in OrdnernamenUse qualifiers in folder names

Hier ist ein Beispiel für die Verwendung von Qualifizierern zum Benennen von Ordnern, die Medienobjekt Dateien enthalten.Here is an example of using qualifiers to name folders that contain asset files. Verwenden Sie Qualifizierer in Ordnernamen, wenn mehrere Ressourcen Dateien pro Qualifizierer vorhanden sind.Use qualifiers in folder names if you have several asset files per qualifier. Auf diese Weise legen Sie den Qualifizierer einmal auf Ordnerebene fest, und der Qualifizierer gilt für alles innerhalb des Ordners.That way, you set the qualifier once at the folder level, and the qualifier applies to everything inside the folder.

\Assets\Images\contrast-standard\<logo.png, and other image files>
\Assets\Images\contrast-high\<logo.png, and other image files>
\Assets\Images\contrast-black\<logo.png, and other image files>
\Assets\Images\contrast-white\<logo.png, and other image files>

Wenn Sie die Ordner wie im obigen Beispiel benennen, verwendet Ihre APP die Einstellung für den hohen Kontrast zum Laden von Ressourcen Dateien aus dem Ordner, der für den entsprechenden Qualifizierer benannt ist.If you name your folders as in the example above, then your app uses the high contrast setting to load resource files from the folder named for the appropriate qualifier. Wenn die Einstellung also hoher Kontrast schwarz ist, werden die Ressourcen Dateien im \Assets\Images\contrast-black Ordner geladen.So, if the setting is High Contrast Black, then the resource files in the \Assets\Images\contrast-black folder are loaded. Wenn die Einstellung auf keine festgelegt ist (d. h., der Computer befindet sich nicht im Modus für hohe Kontraste), werden die Ressourcen Dateien im \Assets\Images\contrast-standard Ordner geladen.If the setting is None (that is, the computer is not in high contrast mode), then the resource files in the \Assets\Images\contrast-standard folder are loaded.

Verwenden von Qualifizierern in DateinamenUse qualifiers in file names

Anstatt Ordner zu erstellen und zu benennen, können Sie einen Qualifizierer verwenden, um die Ressourcen Dateien selbst zu benennen.Instead of creating and naming folders, you can use a qualifier to name the resource files themselves. Dies empfiehlt sich, wenn Sie nur über eine Ressourcen Datei pro Qualifizierer verfügen.You might prefer to do this if you only have one resource file per qualifier. Hier sehen Sie ein Beispiel.Here’s an example.

\Assets\Images\logo.contrast-standard.png
\Assets\Images\logo.contrast-high.png
\Assets\Images\logo.contrast-black.png
\Assets\Images\logo.contrast-white.png

Die Datei, deren Name den Qualifizierer enthält, der für die Einstellung am besten geeignet ist, ist die Datei, die geladen wirdThe file whose name contains the qualifier most appropriate for the setting is the one that is loaded. Diese übereinstimmende Logik funktioniert für Dateinamen genauso wie für Ordnernamen.This matching logic works the same way for file names as for folder names.

Verweisen auf eine Zeichen folgen-oder Bildressource anhand ihres NamensReference a string or image resource by name

Weitere Informationen finden Sie unter verweisen auf einen Zeichen folgen Ressourcen Bezeichner aus XAML-Markup, verweisen auf einen Zeichen folgen Ressourcen Bezeichner aus Codeund verweisen auf ein Bild oder ein anderes Objekt aus XAML-Markup und-Code.See Refer to a string resource identifier from XAML markup, Refer to a string resource identifier from code, and Reference an image or other asset from XAML markup and code.

Tatsächlicher und neutraler QualifiziererActual and neutral qualifier matches

Sie müssen nicht für jeden qualifiziererwert eine Ressourcen Datei bereitstellen.You don’t need to provide a resource file for every qualifier value. Wenn Sie z. b. feststellen, dass Sie nur eine visuelle Ressource für einen hohen Kontrast und eine für den Standard Kontrast benötigen, können Sie diese Objekte wie folgt benennen.For example, if you find that you only need one visual asset for high contrast and one for standard contrast, then you can name those assets like this.

\Assets\Images\logo.contrast-high.png
\Assets\Images\logo.png

Der erste Dateiname enthält den contrast-high Qualifizierer.The first file name contains the contrast-high qualifier. Dieser Qualifizierer ist eine tatsächliche Entsprechung für jede hohe Kontrasteinstellung, wenn ein hoher Kontrast auf onfestgelegt istThat qualifier is an actual match for any high contrast setting when high contrast is on. Anders ausgedrückt: Es handelt sich um eine schließende Entsprechung.In other words, it's a close match so it’s preferred. Eine tatsächliche Entsprechung kann nur auftreten, wenn der Qualifizierer einen tatsächlichen Wert enthält, wie dies in diesem Fall der Fall ist.An actual match can only occur if the qualifier contains an actual value, as this one does. In diesem Fall high ist ein tatsächlicher Wert für contrast .In this case, high is an actual value for contrast.

Die Datei mit dem Namen logo.png hat überhaupt keinen Kontrast Qualifizierer.The file named logo.png has no contrast qualifier on it at all. Das Fehlen eines Qualifizierers ist ein neutraler Wert.The absence of a qualifier is a neutral value. Wenn keine bevorzugte Entsprechung gefunden werden kann, fungiert der neutrale Wert als Fall Back Übereinstimmung.If no preferred match can be found, then the neutral value serves as a fallback match. In diesem Beispiel gibt es keine tatsächliche Entsprechung, wenn der hohe Kontrast deaktiviert ist.In this example, if high contrast is off, then there is no actual match. Die neutrale Übereinstimmung ist die beste Entsprechung, die gefunden werden kann, sodass das Asset logo.png geladen wird.The neutral match is the best match that can be found, and so the asset logo.png is loaded.

Wenn Sie den Namen von in ändern möchten logo.png logo.contrast-standard.png , würde der Dateiname einen tatsächlichen qualifiziererwert enthalten.If you were to change the name of logo.png to logo.contrast-standard.png, then the file name would contain an actual qualifier value. Bei einem hohen Kontrast ist logo.contrast-standard.png die tatsächliche Übereinstimmung, und das ist die zu ladende Ressourcen Datei.With high contrast off, there would be an actual match with logo.contrast-standard.png, and that’s the asset file that would be loaded. Daher werden dieselben Dateien unter denselben Bedingungen geladen, aber aufgrund von unterschiedlichen Übereinstimmungen.So, the same files would be loaded, under the same conditions, but because of different matches.

Wenn Sie nur einen Satz von Assets für einen hohen Kontrast und einen Satz für den Standard Kontrast benötigen, können Sie anstelle von Dateinamen Ordnernamen verwenden.If you only need one set of assets for high contrast and one set for standard contrast, then you can use folder names instead of file names. In diesem Fall erhalten Sie durch das Weglassen des Ordner namens vollständige Übereinstimmung.In this case, omitting the folder name entirely gives you the neutral match.

\Assets\Images\contrast-high\<logo.png, and other images to load when high contrast theme is not None>
\Assets\Images\<logo.png, and other images to load when high contrast theme is None>

Weitere Informationen zur Funktionsweise der qualifiziererübereinstimmung finden Sie unter Resource Management System.For more details on how qualifier matching works, see Resource Management System.

Mehrere QualifiziererMultiple qualifiers

Sie können Qualifizierer in Ordner-und Dateinamen kombinieren.You can combine qualifiers in folder and file names. Beispielsweise möchten Sie, dass Ihre APP Image Ressourcen lädt, wenn der Modus für hohe Kontraste eingeschaltet ist und der Anzeige Skalierungsfaktor 400 ist.For example, you may want your app to load image assets when high contrast mode is on and the display scale factor is 400. Eine Möglichkeit hierfür ist die Verwendung von untergeordneten Ordnern.One way to do this is with nested folders.

\Assets\Images\contrast-high\scale-400\<logo.png, and other image files>

Für logo.png und die anderen Dateien, die geladen werden sollen, müssen die Einstellungen beiden Qualifizierern entsprechen.For logo.png and the other files to be loaded, the settings must match both qualifiers.

Eine andere Möglichkeit besteht darin, mehrere Qualifizierer in einem Ordnernamen zu kombinieren.Another option is to combine multiple qualifiers in one folder name.

\Assets\Images\contrast-high_scale-400\<logo.png, and other image files>

In einem Ordnernamen kombinieren Sie mehrere Qualifizierer, die durch einen Unterstrich getrennt sind.In a folder name, you combine multiple qualifiers separated with an underscore. <qualifier1>[_<qualifier2>...] das Format.<qualifier1>[_<qualifier2>...] is the format.

Sie können mehrere Qualifizierer in einem Dateinamen im gleichen Format kombinieren.You can combine multiple qualifiers in a file name in the same format.

\Assets\Images\logo.contrast-high_scale-400.png

Abhängig von den Tools und dem Workflow, die Sie für die Erstellung von Medienobjekten verwenden, oder von dem, was Sie am einfachsten zu lesen und/oder zu verwalten finden, können Sie entweder eine einzelne Benennungs Strategie für alle Qualifizierer auswählen oder Sie für verschiedene Qualifizierer kombinieren.Depending on the tools and workflow you use for asset-creation, or on what you find easiest to read and/or manage, you can either choose a single naming strategy for all qualifiers, or you can combine them for different qualifiers.

Alternative FormAlternateForm

Der alternateform Qualifizierer wird verwendet, um eine alternative Form einer Ressource für einen speziellen Zweck bereitzustellen.The alternateform qualifier is used to provide an alternate form of a resource for some special purpose. Dies wird in der Regel nur von japanischen App-Entwicklern verwendet, um eine Furigana-Zeichenfolge bereitzustellen, für die der Wert msft-phonetic reserviert ist (Weitere Informationen finden Sie im Abschnitt "Unterstützung von Furigana für japanische Zeichen folgen, die sortiert werden können" in Vorbereiten der Lokalisierung).This is typically used only by Japanese app developers to provide a furigana string for which the value msft-phonetic is reserved (see the section “Support Furigana for Japanese strings that can be sorted” in How to prepare for localization).

Ihr Zielsystem oder Ihre APP muss einen Wert bereitstellen, mit dem alternateform Qualifizierer abgeglichen werden.Either your target system or your app must provide a value against which alternateform qualifiers are matched. Verwenden Sie das msft- Präfix nicht für Ihre eigenen benutzerdefinierten alternateform Qualifiziererwerte.Do not use the msft- prefix for your own custom alternateform qualifier values.

KonfigurationConfiguration

Es ist unwahrscheinlich, dass Sie den configuration Qualifizierernamen benötigen.It’s unlikely that you’ll need the configuration qualifier name. Sie kann verwendet werden, um Ressourcen anzugeben, die nur auf eine bestimmte Erstellungszeit Umgebung anwendbar sind, z. b. auf nur-Test-Ressourcen.It can be used to specify resources that are applicable only to a given authoring-time environment, such as test-only resources.

Der configuration Qualifizierer wird verwendet, um eine Ressource zu laden, die am besten mit dem Wert der MS_CONFIGURATION_ATTRIBUTE_VALUE Umgebungsvariablen übereinstimmt.The configuration qualifier is used to load a resource that best matches the value of the MS_CONFIGURATION_ATTRIBUTE_VALUE environment variable. Daher können Sie die Variable auf den Zeichen folgen Wert festlegen, der den relevanten Ressourcen zugewiesen wurde, z. b designer . oder test .So, you can set the variable to the string value that has been assigned to the relevant resources, for example designer, or test.

Vergleichen SieContrast

contrastMit dem Qualifizierer werden Ressourcen bereitgestellt, die den Einstellungen für hohe Kontraste am besten entsprechen.The contrast qualifier is used to provide resources that best match high contrast settings.

BenutzerdefiniertCustom

Ihre APP kann einen Wert für den custom Qualifizierer festlegen, und dann werden Ressourcen geladen, die dem Wert am besten entsprechen.Your app can set a value for the custom qualifier, and then resources are loaded that best match that value. Beispielsweise können Sie Ressourcen basierend auf der Lizenz ihrer App laden.For example, you may want to load resources based on your app’s license. Wenn Ihre APP gestartet wird, wird die Lizenz überprüft und als Wert für den custom Qualifizierer verwendet, indem setglobalqualifiervalueaufgerufen wird, wie im Codebeispiel gezeigt.When your app launches, it checks its license and uses that as the value for the custom qualifier by calling SetGlobalQualifierValue, as shown in the code example.

public void SetLicenseLevel(BrandID brand)
{
    if (brand == BrandID.Premium)
    {
        ResourceContext.SetGlobalQualifierValue("Custom", "Premium", ResourceQualifierPersistence.LocalMachine);
    }
    else if (brand == BrandID.Standard)
    {
        ResourceContext.SetGlobalQualifierValue("Custom", " Standard", ResourceQualifierPersistence.LocalMachine);
    }
    else
    {
        ResourceContext.SetGlobalQualifierValue("Custom", "Trial", ResourceQualifierPersistence.LocalMachine);
    }
}

In diesem Szenario würden Sie Ihre Ressourcennamen angeben, die die Qualifizierer custom-premium , custom-standard und enthalten custom-trial .In this scenario, you would then give your resources names that include the qualifiers custom-premium, custom-standard, and custom-trial.

DevicefamilyDeviceFamily

Es ist unwahrscheinlich, dass Sie den devicefamily Qualifizierernamen benötigen.It’s unlikely that you’ll need the devicefamily qualifier name. Sie können es vermeiden, wenn dies möglich ist, denn es gibt Techniken, die Sie stattdessen verwenden können, die viel bequemer und robuster sind.You can and should avoid using it whenever possible because there are techniques that you can use instead that are much more convenient and robust. Diese Techniken werden unter erkennen der Plattform, auf der Ihre APP ausgeführt wird , und der Version von adaptiver Codebeschrieben.Those techniques are described in Detecting the platform your app is running on and Version adaptive code.

Aber als letztes Mittel ist es möglich, devicefamily-Qualifizierer zum Benennen von Ordnern zu verwenden, die Ihre XAML-Ansichten enthalten (eine XAML-Ansicht ist eine XAML-Datei, die das Layout und Steuerelemente der Benutzeroberfläche enthält).But as a last resort it is possible to use devicefamily qualifiers to name folders that contain your XAML views (a XAML view is a XAML file that contains UI layout and controls).

\devicefamily-desktop\<MainPage.xaml, and other markup files to load when running on a desktop computer>
\devicefamily-mobile\<MainPage.xaml, and other markup files to load when running on a phone>

Oder Sie können Dateien benennen.Or you can name files.

\MainPage.devicefamily-desktop.xaml
\MainPage.devicefamily-mobile.xaml

In beiden Fällen hat jede Kopie von MainPage.[<qualifier>].xaml eine gemeinsame MainPage.xaml.cs , die im Projekt in Bezug auf Name, Speicherort und Inhalt unverändert bleibt.In either case each copy of MainPage.[<qualifier>].xaml shares a common MainPage.xaml.cs, which remains unchanged in your project in terms of name, location, and contents.

Sie können auch einen devicefamily-Qualifizierer verwenden, um eine Ressourcen Datei ( .resw ) oder einen Ordner zu benennen.You can also use a devicefamily qualifier to name a Resources File (.resw), or folder. Wenn Ihre APP beispielsweise auf der mobilen Gerätefamilie ausgeführt wird, verwendet das UI <TextBlock x:Uid="DeviceFriendlyName"/> -Element die Text-und Vordergrund Ressourcen, die in der Datei definiert sind, Resources.devicefamily-mobile.resw Wenn SieFor example, when your app is running on the mobile device family, the UI element <TextBlock x:Uid="DeviceFriendlyName"/> will use the text and foreground resources defined in your Resources.devicefamily-mobile.resw file if it contains

<data name="DeviceFriendlyName.Foreground">
    <value>Red</value>
</data>
<data name="DeviceFriendlyName.Text">
    <value>Mobile device</value>
</data>

Weitere Informationen zum Verwenden einer Ressourcen Datei finden Sie unter Lokalisieren von UI-Zeichen folgen.For more on using a Resources File, see Localize your UI strings.

DxfeaturelevelDXFeatureLevel

Es ist unwahrscheinlich, dass Sie den dxfeaturelevel Qualifizierernamen benötigen.It’s unlikely that you’ll need the dxfeaturelevel qualifier name. Es wurde für die Verwendung mit Direct3D-Spielobjekten entwickelt, damit downlevelressourcen geladen werden, um eine bestimmte downlevelhardware-Konfiguration der Zeit zu erfüllen.It was designed to be used with Direct3D game assets, to cause downlevel resources to be loaded to match a particular downlevel hardware configuration of the time. Die Verbreitung dieser Hardwarekonfiguration ist jetzt jedoch so niedrig, dass Sie diesen Qualifizierer nicht verwenden sollten.But the prevalence of that hardware configuration is now so low that we recommend you don’t use this qualifier.

HomeregionHomeRegion

Der homeregion Qualifizierer entspricht der Einstellung des Benutzers für Land oder Region.The homeregion qualifier corresponds to the user’s setting for country or region. Es stellt den Start Speicherort des Benutzers dar.It represents the home location of the user. Zu den Werten gehören alle gültigen bcp-47-Regions Tags.Values include any valid BCP-47 region tag. Das heißt, alle ISO 3166-1 Alpha-2 aus zwei Buchstaben bestehenden Regions Codes sowie der Satz von ISO 3166-1 numerischen dreistelligen geografischen Codes für zusammengesetzte Regionen (siehe United Nations Statistic Division M49 Composition of Region Codes).That is, any ISO 3166-1 alpha-2 two-letter region code, plus the set of ISO 3166-1 numeric three-digit geographic codes for composed regions (see United Nations Statistic Division M49 composition of region codes). Die Codes für "ausgewählte wirtschaftliche und andere Gruppierungen" sind ungültig.Codes for "Selected economic and other groupings" are not valid.

SpracheLanguage

Ein language Qualifizierer entspricht der Einstellung der Anzeige Sprache.A language qualifier corresponds to the display language setting. Zu den Werten gehören alle gültigen bcp-47-Sprachtags.Values include any valid BCP-47 language tag. Eine Liste der Sprachen finden Sie in der IANA Language Tags-Registrierung.For a list of languages, see the IANA language subtag registry.

Wenn Sie möchten, dass Ihre APP verschiedene Anzeige Sprachen unterstützt, und Sie Zeichen folgen Literale in Ihrem Code oder in Ihrem XAML-Markup haben, verschieben Sie diese Zeichen folgen aus dem Code/Markup und in eine Ressourcen Datei ( .resw ).If you want your app to support different display languages, and you have string literals in your code or in your XAML markup, then move those strings out of the code/markup and into a Resources File (.resw). Sie können dann eine übersetzte Kopie dieser Ressourcendatei für jede Sprache erstellen, die Ihre App unterstützt.You can then make a translated copy of that Resources File for each language that your app supports.

In der Regel verwenden Sie einen language Qualifizierer, um die Ordner zu benennen, die ihre Ressourcen Dateien ( .resw ) enthalten.You typically use a language qualifier to name the folders that contain your Resources Files (.resw).

\Strings\language-en\Resources.resw
\Strings\language-ja\Resources.resw

Sie können den language- Teil eines language Qualifizierers (d. h. den Qualifizierernamen) weglassen.You can omit the language- part of a language qualifier (that is, the qualifier name). Dies ist mit den anderen Arten von Qualifizierern nicht möglich. Dies ist nur in einem Ordnernamen möglich.You can’t do this with the other kinds of qualifiers; and you can only do it in a folder name.

\Strings\en\Resources.resw
\Strings\ja\Resources.resw

Anstatt Ordner zu benennen, können Sie language die Ressourcen Dateien mithilfe von Qualifizierern benennen.Instead of naming folders, you can use language qualifiers to name the Resources Files themselves.

\Strings\Resources.language-en.resw
\Strings\Resources.language-ja.resw

Weitere Informationen zum Lokalisieren der App mithilfe von Zeichen folgen Ressourcen finden Sie unter Lokalisieren von UI -Zeichen folgen und verweisen auf eine Zeichen folgen Ressource in Ihrer APP.See Localize your UI strings for more information on making your app localizable by using string resources, and how to reference a string resource in your app.

LayoutDirectionLayoutDirection

Ein layoutdirection Qualifizierer entspricht der Layoutrichtung der Anzeige Spracheinstellung.A layoutdirection qualifier corresponds to the layout direction of the display language setting. Ein Bild kann z. b. für eine Sprache von rechts nach links (z. b. Arabisch oder Hebräisch) gespiegelt werden.For example, an image may need to be mirrored for a right-to-left language such as Arabic or Hebrew. Layoutpanels und Bilder in der Benutzeroberfläche reagieren entsprechend auf Layoutrichtung, wenn Sie Ihre FlowDirection -Eigenschaft festlegen (siehe Anpassen von Layout und Schriftarten und Unterstützung von RTL).Layout panels and images in your UI will respond to layout direction appropriately if you set their FlowDirection property (see Adjust layout and fonts, and support RTL). Der layoutdirection Qualifizierer ist jedoch für Fälle geeignet, in denen das einfache kippen nicht ausreicht, und ermöglicht es Ihnen, auf allgemeinere Weise auf die Direktionalität bestimmter lesereihen und Textausrichtung zu reagieren.However, the layoutdirection qualifier is for cases where simple flipping isn't adequate, and it allows you to respond to the directionality of specific reading order and text alignment in more general ways.

SkalierenScale

Windows wählt automatisch einen Skalierungsfaktor für jede Anzeige basierend auf dem dpi-Faktor (dpi-pro-Zoll) und der Anzeige Distanz des Geräts aus.Windows automatically selects a scale factor for each display based on its DPI (dots-per-inch) and the viewing distance of the device. Weitere Informationen finden Sie unter effektive Pixel und Skalierungsfaktor.See Effective pixels and scale factor. Sie sollten Ihre Images mit verschiedenen empfohlenen Größen (mindestens 100, 200 und 400) erstellen, damit Windows entweder die perfekte Größe auswählen oder die nächstgelegene Größe verwenden und skalieren können.You should create your images at several recommended sizes (at least 100, 200, and 400) so that Windows can either choose the perfect size or can use the nearest size and scale it. Damit Windows ermitteln kann, welche physische Datei die richtige Größe des Bilds für den Anzeige Skalierungsfaktor enthält, verwenden Sie einen scale Qualifizierer.So that Windows can identify which physical file contains the correct size of image for the display scale factor, you use a scale qualifier. Die Skalierung einer Ressource entspricht dem Wert von Displayinformation. resolutionscaleoder der nächstgrößten skalierten Ressource.The scale of a resource matches the value of DisplayInformation.ResolutionScale, or the next-largest-scaled resource.

Hier ist ein Beispiel für das Festlegen des Qualifizierers auf Ordnerebene.Here’s an example of setting the qualifier at the folder level.

\Assets\Images\scale-100\<logo.png, and other image files>
\Assets\Images\scale-200\<logo.png, and other image files>
\Assets\Images\scale-400\<logo.png, and other image files>

Und in diesem Beispiel wird Sie auf Dateiebene festgelegt.And this example sets it at the file level.

\Assets\Images\logo.scale-100.png
\Assets\Images\logo.scale-200.png
\Assets\Images\logo.scale-400.png

Informationen zum qualifizieren einer Ressource für scale und finden Sie targetsize unter qualifizieren einer Image Ressource für targetSize.For info about qualifying a resource for both scale and targetsize, see Qualify an image resource for targetsize.

TargetSizeTargetSize

Der targetsize Qualifizierer wird primär zum Angeben von Dateityp -Zuordnungs Symbolen oder Protokoll Symbolen verwendet, die im Datei-Explorer angezeigt werden.The targetsize qualifier is primarily used to specify file type association icons or protocol icons to be shown in File Explorer. Der qualifiziererwert stellt die Seitenlänge eines quadratischen Bilds in unformatierten (physischen) Pixeln dar.The qualifier value represents the side length of a square image in raw (physical) pixels. Die Ressource, deren Wert mit der Ansichts Einstellung im Datei-Explorer übereinstimmt, wird geladen. oder die Ressource mit dem nächstgrößten Wert, wenn keine genaue Entsprechung vorhanden ist.The resource whose value matches the View setting in File Explorer is loaded; or the resource with the next-largest value in the absence of an exact match.

Sie können Assets definieren, die mehrere Größen des targetsize qualifiziererwerts für das App-Symbol ( /Assets/Square44x44Logo.png ) auf der Registerkarte visuelle Objekte des App-Paket Manifest-Designers darstellen.You can define assets that represent several sizes of targetsize qualifier value for the App Icon (/Assets/Square44x44Logo.png) in the Visual Assets tab of the app package manifest designer.

Informationen zum qualifizieren einer Ressource für scale und finden Sie targetsize unter qualifizieren einer Image Ressource für targetSize.For info about qualifying a resource for both scale and targetsize, see Qualify an image resource for targetsize.

DesignTheme

Der theme Qualifizierer wird verwendet, um Ressourcen bereitzustellen, die am besten mit der Standardeinstellung für den Anwendungsmodus oder mit Application. requestedthememit der APP überschrieben werden.The theme qualifier is used to provide resources that best match the default app mode setting, or your app’s override using Application.RequestedTheme.

Shell Light-Design und nicht geplatzte RessourcenShell light theme and unplated resources

Das Windows 10-Update von Mai 2019 hat ein neues "Light"-Design für die Windows-Shell eingeführt.The Windows 10 May 2019 Update introduced a new "light" theme for the Windows Shell. Folglich werden einige Anwendungs Ressourcen, die zuvor in einem dunklen Hintergrund angezeigt wurden, nun in einem hellen Hintergrund angezeigt.As a result, some application assets that were previously shown on a dark background will now be shown on a light background. Für apps, die apps bereitstellen, die für die Taskleiste und die Fenster Switcher (Alt + Tab, Aufgaben Ansicht usw.) in altform Geschützte Assets bereitgestellt haben, sollten Sie überprüfen, ob Sie einen akzeptablen Kontrast in einem hellen Hintergrund haben.For apps that apps that provided altform-unplated assets for the taskbar and window switchers (Alt+Tab, Task View, etc), you should verify that they have acceptable contrast on a light background.

Bereitstellen von Design spezifischen RessourcenProviding light theme specific assets

Apps, die eine angepasste Ressource für das Shell Light-Design bereitstellen möchten, können einen neuen alternativen Formular Ressourcen Qualifizierer verwenden: altform-lightunplated .Apps that want to provide a tailored resource for shell light theme can use a new alternate form resource qualifier: altform-lightunplated. Dieser Qualifizierer spiegelt den vorhandenen, in altform ungebundenen Qualifizierer wider.This qualifier mirrors the existing altform-unplated qualifier.

Überlegungen zu downlevelsDownlevel considerations

Apps sollten nicht den theme-light Qualifizierer mit dem altform-unplated Qualifizierer verwenden.Apps should not use the theme-light qualifier with the altform-unplated qualifier. Dies führt zu unvorhersehbarem Verhalten bei RS5 und früheren Versionen von Windows aufgrund der Art und Weise, wie Ressourcen für die Taskleiste geladen werden.This will cause unpredictable behavior on RS5 and earlier versions of Windows due to the way resources are loaded for the Taskbar. In früheren Versionen von Windows kann die Design-Light-Version falsch verwendet werden.On earlier versions of windows, the theme-light version may be used incorrectly. Der altform-lightunplated Qualifizierer vermeidet dieses Problem.The altform-lightunplated qualifier avoids this issue.

Kompatibilitäts VerhaltenCompatibility behavior

Aus Gründen der Abwärtskompatibilität enthält Windows Logik, um ein Mono-Symbol zu erkennen und zu überprüfen, ob es mit dem vorgesehenen Hintergrund in Kontrast steht.For backwards compatibility, Windows includes logic to detect a monochromatic icons and check whether it contrasts with the intended background. Wenn das Symbol die Kontrast Anforderungen nicht erfüllt, wird in Windows nach der Kontrast weißen Version des Assets gesucht.If the icon fails to meet contrast requirements, Windows will look for a contrast-white version of the asset. Wenn dies nicht verfügbar ist, greift Windows auf die geplatzte Version des Assets zurück.If that’s not available, Windows will fall back to using the plated version of the asset.

Wichtige APIsImportant APIs