{ThemeResource}-Markuperweiterung{ThemeResource} markup extension

Stellt einen Wert für ein beliebiges XAML-Attribut bereit, indem ein Verweis auf eine Ressource ausgewertet wird. Dabei wird zusätzliche Systemlogik genutzt, mit der unterschiedliche Ressourcen je nach derzeit aktivem Design abgerufen werden.Provides a value for any XAML attribute by evaluating a reference to a resource, with additional system logic that retrieves different resources depending on the currently active theme. Ähnlich wie bei der {StaticResource}-Markuperweiterung werden Ressourcen in einem ResourceDictionary definiert, und mit einer ThemeResource-Syntax wird auf den Schlüssel dieser Ressource im ResourceDictionary verwiesen.Similar to {StaticResource} markup extension, resources are defined in a ResourceDictionary, and a ThemeResource usage references the key of that resource in the ResourceDictionary.

XAML-AttributsyntaxXAML attribute usage

<object property="{ThemeResource key}" .../>

XAML-WerteXAML values

BegriffTerm BeschreibungDescription
keykey Der Schlüssel für die angeforderte Ressource.The key for the requested resource. Dieser Schlüssel wird anfänglich durch das ResourceDictionary zugewiesen.This key is initially assigned by the ResourceDictionary. Ein Ressourcenschlüssel kann eine beliebige in der XamlName-Grammatik definierte Zeichenfolge sein.A resource key can be any string defined in the XamlName Grammar.

HinweiseRemarks

Eine ThemeResource ist eine Methode zum Abrufen von Werten für ein XAML-Attribut, die an anderer Stelle in einem XAML-Ressourcenwörterbuch definiert sind.A ThemeResource is a technique for obtaining values for a XAML attribute that are defined elsewhere in a XAML resource dictionary. Die Markuperweiterung hat den gleichen grundlegenden Zweck wie die {StaticResource}-Markuperweiterung.The markup extension serves the same basic purpose as the {StaticResource} markup extension. Der Unterschied zum Verhalten gegenüber der {StaticResource}-Markuperweiterung besteht darin, dass von einem ThemeResource-Verweis dynamisch verschiedene Wörterbücher als Hauptziel der Suche verwendet werden können, je nachdem, welches Design vom System gerade genutzt wird.The difference in behavior versus {StaticResource} markup extension is that a ThemeResource reference can dynamically use different dictionaries as the primary lookup location, depending on which theme is currently being used by the system.

Nach dem ersten Starten der App werden alle Ressourcenverweise eines ThemeResource-Verweises anhand des Designs ausgewertet, das beim Starten aktiv war.When the app first starts, any resource reference made by a ThemeResource reference is evaluated based on the theme in use at startup. Wenn Benutzer das aktive Design zur Laufzeit dann jedoch ändern, werden vom System alle ThemeResource-Verweise neu ausgewertet und ggf. andere designspezifische Ressourcen abgerufen. Die App wird an allen relevanten Stellen der visuellen Struktur mit neuen Ressourcenwerten angezeigt.But if the user subsequently changes the active theme at run-time, the system will re-evaluate every ThemeResource reference, retrieve a theme-specific resource that may be different, and redisplay the app with new resource values in all appropriate places in the visual tree. Eine StaticResource wird zur XAML-Ladezeit bzw. beim Starten der App bestimmt und zur Laufzeit nicht neu ausgewertet.A StaticResource is determined at XAML load time / app startup and won't be re-evaluated at run-time. (Es gibt andere Verfahren, z. B. visuelle Zustände, bei denen XAML dynamisch neu geladen wird. Diese Verfahren finden jedoch auf einer höheren Ebene als die grundlegende Ressourcenauswertung statt, die mit der {StaticResource}-Markuperweiterung möglich ist.)(There are other techniques such as visual states that reload XAML dynamically, but those techniques operate at a higher level that the basic resource evaluation enabled by {StaticResource} markup extension).

ThemeResource akzeptiert ein Argument, das den Schlüssel für die angeforderte Ressource angibt.ThemeResource takes one argument, which specifies the key for the requested resource. Ein Ressourcenschlüssel ist immer eine Zeichenfolge in der Windows-Runtime-XAML.A resource key is always a string in Windows Runtime XAML. Weitere Informationen zum anfänglichen Festlegen des Ressourcenschlüssels finden Sie unter x:Key-Attribut.For more info on how the resource key is initially specified, see x:Key attribute.

Weitere Informationen dazu, wie Sie Ressourcen und Eigenschaften mithilfe eines ResourceDictionary definieren, und zusätzlichen Beispielcode finden Sie unter ResourceDictionary- und XAML-Ressourcenverweise.For more info on how to define resources and properly use a ResourceDictionary, including sample code, see ResourceDictionary and XAML resource references.

Wichtig: Wie bei StaticResource auch darf eine ThemeResource nicht versuchen, einen Vorwärtsverweis auf eine Ressource auszuführen, die innerhalb der XAML-Datei weiter lexikalisch definiert ist.Important As with StaticResource, a ThemeResource must not attempt to make a forward reference to a resource that is defined lexically further within the XAML file. Dieser Versuch wird nicht unterstützt.Attempting to do so is not supported. Auch wenn der weitergeleitete Verweis keinen Fehler verursacht, wird durch den Versuch die Leistung beeinträchtigt.Even if the forward reference doesn't fail, trying to make one carries a performance penalty. Um optimale Ergebnisse zu erzielen, sollten Sie die Ressourcenwörterbücher so erstellen, dass Vorwärtsverweise vermieden werden können.For best results, adjust the composition of your resource dictionaries so that forward references are avoided.

Wenn Sie versuchen, eine ThemeResource für einen Schlüssel anzugeben, die nicht aufgelöst werden kann, führt dies zu einer XAML-Analyseausnahme zur Laufzeit.Attempting to specify a ThemeResource to a key that cannot resolve throws a XAML parse exception at run time. Entwicklungstools geben unter Umständen auch Warnungen oder Fehler aus.Design tools may also offer warnings or errors.

Die XAML-Prozessorimplementierung der Windows-Runtime enthält keine Sicherungsklassendarstellung für ThemeResource-Funktionen.In the Windows Runtime XAML processor implementation, there is no backing class representation for ThemeResource. Die weitestgehende Entsprechung im Code ist die Verwendung der Auflistungs-API eines ResourceDictionary, z. B. der Aufruf von Contains oder TryGetValue.The closest equivalent in code is to use the collection API of a ResourceDictionary, for example calling Contains or TryGetValue.

ThemeResource ist eine Markuperweiterung.ThemeResource is a markup extension. Markuperweiterungen werden in der Regel implementiert, wenn für Attributwerte Escapezeichen verwendet werden müssen, damit sie keine Literalwerte oder Handlernamen darstellen, und es nicht ausreicht, Typkonverter für bestimmte Typen oder Eigenschaften zu verwenden.Markup extensions are typically implemented when there is a requirement to escape attribute values to be other than literal values or handler names, and the requirement is more global than just putting type converters on certain types or properties. Alle Markuperweiterungen in XAML verwenden die Zeichen „{” und „}” in ihrer Attributsyntax. Anhand dieser Konvention erkennt ein XAML-Prozessor, dass eine Markuperweiterung das Attribut verarbeiten muss.All markup extensions in XAML use the "{" and "}" characters in their attribute syntax, which is the convention by which a XAML processor recognizes that a markup extension must process the attribute.

Zeitpunkt und Art der Verwendung von {ThemeResource} anstelle von {StaticResource}When and how to use {ThemeResource} rather than {StaticResource}

Die Regeln, nach denen die Auflösung einer ThemeResource zu einem Element in einem Ressourcenwörterbuch erfolgt, sind im Allgemeinen identisch mit den Regeln für StaticResource.The rules by which a ThemeResource resolves to an item in a resource dictionary are generally the same as StaticResource. Eine ThemeResource-Suche kann auf die ResourceDictionary-Dateien erweitert werden, auf die in einer ThemeDictionaries-Auflistung verwiesen wird, aber dies ist auch mit StaticResource möglich.A ThemeResource lookup can extend into the ResourceDictionary files that are referenced in a ThemeDictionaries collection, but a StaticResource can do that also. Der Unterschied besteht darin, dass eine ThemeResource zur Laufzeit neu ausgewertet werden kann, während dies für eine StaticResource nicht möglich ist.The difference is that a ThemeResource can re-evaluate at run-time and a StaticResource can't.

Vom Schlüsselsatz in den einzelnen Designverzeichnissen sollte jeweils unabhängig davon, welches Design aktiv ist, der gleiche Ressourcensatz mit Schlüsseln bereitgestellt werden.The set of keys in each theme dictionary should provide the same set of keyed resources no matter which theme is active. Wenn eine bestimmte Ressource mit Schlüssel im Designverzeichnis HighContrast vorhanden ist, sollte auch in Light und Default eine Ressource mit diesem Namen vorhanden sein.If a given keyed resource exists in the HighContrast theme dictionary, then another resource with that name should also exist in Light and Default. Anderenfalls tritt bei der Ressourcensuche ggf. ein Fehler auf, wenn Benutzer das Design wechseln. Die Darstellung der App ist dann fehlerhaft.If that isn't true, resource lookup might fail when the user switches themes and your app won't look right. Es ist jedoch möglich, dass ein Designverzeichnis Ressourcen mit Schlüssel enthält, auf die nur innerhalb desselben Bereichs verwiesen wird, um Unterwerte anzugeben. Diese müssen nicht in allen Designs gleich sein.It is possible though that a theme dictionary can contain keyed resources that are only referenced from within the same scope to provide sub-values; these don't need to be equivalent in all themes.

Generell sollten Sie Ressourcen nur dann in Designverzeichnissen anordnen und mithilfe von ThemeResource Verweise auf diese Ressourcen einrichten, wenn sich diese Werte von Design zu Design ändern können oder von sich ändernden Werten unterstützt werden.In general you should place resources in theme dictionaries and make references to those resources using ThemeResource only when those values can change between themes or are supported by values that change. Dies ist für die folgenden Arten von Ressourcen geeignet:This is appropriate for these kinds of resources:

  • Pinsel, vor allem Farben für SolidColorBrush.Brushes, in particular colors for SolidColorBrush. Diese Ressource macht ca. 80 % der Nutzung von ThemeResource in den standardmäßigen XAML-Steuerelementvorlagen (generic.xaml) aus.These make up about 80% of the ThemeResource usages in the default XAML control templates (generic.xaml).
  • Pixelwerte für Rahmen, Versatz, Ränder und Abstände usw.Pixel values for borders, offsets, margin and padding and so on.
  • Schrifteigenschaften wie FontFamily oder FontSizeFont properties such as FontFamily or FontSize.
  • Vollständige Vorlagen für eine begrenzte Anzahl von Steuerelementen, die normalerweise vom System vorgegeben sind und für die dynamische Darstellung verwendet werden, z. B. GridViewItem und ListViewItemComplete templates for a limited number of controls that are usually system-styled and used for dynamic presentation, like GridViewItem and ListViewItem.
  • Textanzeigeformate (etwa zum Ändern von Schriftfarbe, Hintergrund und ggf. der Größe)Text display styles (usually to change font color, background, and possibly size).

Die Windows-Runtime stellt einen Satz von Ressourcen bereit, die ausdrücklich für Verweise über ThemeResource gedacht sind.The Windows Runtime provides a set of resources that are specifically intended to be referenced by ThemeResource. Alle diese Ressourcen werden in der XAML-Datei „themeresources.xaml” aufgelistet, die als Bestandteil des Windows Software Development Kit (SDK) im Ordner „include/winrt/xaml/design” verfügbar ist.These are all listed as part of the XAML file themeresources.xaml, which is available in the include/winrt/xaml/design folder as part of the Windows Software Development Kit (SDK). Eine Dokumentation zu den Designpinseln und zusätzliche Stile, die in „themeresources.xaml” definiert sind, finden Sie unter XAML-Designressourcenverweise.For documentation on the theme brushes and additional styles that are defined in themeresources.xaml, see XAML theme resources. Die Pinsel sind in einer Tabelle dokumentiert, der Sie den Farbwert eines Pinsels für jedes der drei möglichen aktiven Designs entnehmen können.The brushes are documented in a table that tells you what color value each brush has for each of the three possible active themes.

Für die XAML-Definitionen von Ansichtszuständen in einer Steuerelementvorlage sollten immer ThemeResource-Verweise verwendet werden, wenn eine zugrunde liegende Ressource vorhanden ist, die sich aufgrund einer Designänderung ändern kann.The XAML definitions of visual states in a control template should use ThemeResource references whenever there's an underlying resource that might change because of a theme change. Eine Systemdesignänderung führt normalerweise nicht gleichzeitig auch zu einer Änderung des Ansichtszustands.A system theme change won't typically also cause a visual state change. In diesem Fall müssen für die Ressourcen ThemeResource-Verweise verwendet werden, damit Werte für den weiterhin aktiven Ansichtszustand neu ausgewertet werden können.The resources need to use ThemeResource references in this case so that values can be re-evaluated for the still-active visual state. Falls Sie beispielsweise über einen Ansichtszustand verfügen, mit dem eine Pinselfarbe eines bestimmten Teils der UI und eine der dazugehörigen Eigenschaften geändert wird, und diese Pinselfarbe jeweils von Design zu Design unterschiedlich ist, sollten Sie einen ThemeResource-Verweis verwenden. Damit stellen Sie den Wert dieser Eigenschaft in der Standardvorlage und außerdem alle Änderungen des Ansichtszustands für diese Standardvorlage bereit.For example, if you have a visual state that changes a brush color of a particular UI part and one of its properties, and that brush color is different per-theme, you should use a ThemeResource reference for providing that property's value in the default template and also any visual state modification to that default template.

Die Nutzung von ThemeResource lässt sich ggf. für eine Reihe abhängiger Werte erkennen.ThemeResource usages might be seen in a series of dependent values. Beispielsweise kann für einen Color-Wert, der von einem SolidColorBrush-Element verwendet wird, bei dem es sich außerdem um eine Ressource mit Schlüssel handelt, ein ThemeResource-Verweis verwendet werden.For example, a Color value used by a SolidColorBrush that is also a keyed resource might use a ThemeResource reference. Für alle UI-Eigenschaften, von denen die SolidColorBrush-Ressource mit Schlüssel verwendet wird, würde jedoch auch ein ThemeResource-Verweis verwendet werden. Eine dynamische Änderung des Werts bei einer Designänderung wird also jeweils speziell von den Eigenschaften vom Typ Brush ermöglicht.But any UI properties that use the keyed SolidColorBrush resource would also use a ThemeResource reference, so that it's specifically each Brush-type property that's enabling a dynamic value change when the theme changes.

Beachten Sie   {ThemeResource} und Laufzeit-Resource-Bewertung auf designswitching ist in Windows 8.1 XAML unterstützt, aber in XAML für apps für Windows 8 nicht unterstützt.Note  {ThemeResource} and run-time resource evaluation on theme switching is supported in Windows 8.1 XAML but not supported in XAML for apps targeting Windows 8.

SystemressourcenSystem resources

Von einigen Designressourcen wird auf Systemressourcenwerte als zugrunde liegender Unterwert verwiesen.Some theme resources reference system resource values as an underlying sub-value. Eine Systemressource ist eine spezieller Ressourcenwert, der in keinem XAML-Ressourcenverzeichnis zu finden ist.A system resource is a special resource value that isn't found in any XAML resource dictionary. Diese Werte sind vom Verhalten in der XAML-Unterstützung der Windows-Runtime abhängig, um Werte aus dem System selbst weiterzuleiten und in einer Form darzustellen, auf die von einer XAML-Ressource verwiesen werden kann.These values rely on behavior in Windows Runtime XAML support to forward values from the system itself, and represent them in a form that a XAML resource can reference. Beispielsweise gibt es eine Systemressource mit dem Namen „SystemColorButtonFaceColor”, die eine RGB-Farbe darstellt.For example, there is a system resource named "SystemColorButtonFaceColor" that represents an RGB color. Diese Farbe stammt von den Aspekten der Systemfarben und -designs, die nicht nur speziell für die Windows-Runtime und Windows-Runtime-Apps gelten.This color comes from the aspects of system colors and themes that aren't just specific to Windows Runtime and Windows Runtime apps.

Systemressourcen sind häufig die zugrunde liegenden Werte für ein Design mit hohem Kontrast.System resources are often the underlying values for a high-contrast theme. Benutzer können die Farbauswahl für ihr Design mit hohem Kontrast steuern und die Auswahl mithilfe von Systemfeatures treffen, die ebenfalls nicht ausschließlich für Windows-Runtime-Apps gelten.The user is in control of the color choices for their high-contrast theme, and the user makes these choices using system features that also aren't specific to Windows Runtime apps. Indem auf die Systemressourcen in Form von ThemeResource-Verweisen verwiesen wird, können vom Standardverhalten der Designs mit hohem Kontrast für Windows-Runtime-Apps diese designspezifischen Werte verwendet werden, die vom Benutzer gesteuert und vom System verfügbar gemacht werden.By referencing the system resources as ThemeResource references, the default behavior of the high-contrast themes for Windows Runtime apps can use these theme-specific values that are controlled by the user and exposed by the system. Außerdem sind die Verweise dann für die Neuauswertung gekennzeichnet, wenn vom System während der Laufzeit eine Designänderung erkannt wird.Also, the references are now marked for re-evaluation if the system detects a run-time theme change.

{ThemeResource}-BeispielverwendungAn example {ThemeResource} usage

Unten ist XAML-Beispielcode aus den Standarddateien „generic.xaml” und „themeresources.xaml” angegeben, um die Verwendung von ThemeResource zu veranschaulichen.Here's some example XAML taken from the default generic.xaml and themeresources.xaml files to illustrate how to use ThemeResource. Wir sehen uns nur eine Vorlage (Button)-Standardvorlage) und die Deklaration von zwei Eigenschaften (Background und Foreground) als Reaktion auf Designänderungen an.We'll look at just one template (the default Button) and how two properties are declared (Background and Foreground) to be responsive to theme changes.

    <!-- Default style for Windows.UI.Xaml.Controls.Button -->
    <Style TargetType="Button">
        <Setter Property="Background" Value="{ThemeResource ButtonBackgroundThemeBrush}" />
        <Setter Property="Foreground" Value="{ThemeResource ButtonForegroundThemeBrush}"/>
...

Für die Eigenschaften wird hier ein Brush-Wert verwendet, und der Verweis auf die SolidColorBrush-Ressourcen ButtonBackgroundThemeBrush und ButtonForegroundThemeBrush wird mithilfe von ThemeResource durchgeführt.Here, the properties take a Brush value, and the reference to SolidColorBrush resources named ButtonBackgroundThemeBrush and ButtonForegroundThemeBrush are made using ThemeResource.

Diese Eigenschaften werden auch von einigen Ansichtszuständen für ein Button-Element angepasst.These same properties are also adjusted by some of the visual states for a Button. Beispielsweise ändert sich die Hintergrundfarbe, wenn Benutzer auf eine Schaltfläche klicken.Notably, the background color changes when a button is clicked. Auch hier werden von den Animationen Background und Foreground im Storyboard des Ansichtszustands DiscreteObjectKeyFrame-Objekte und Verweise auf Pinsel mit ThemeResource als Keyframewert verwendet.Here too, the Background and Foreground animations in the visual state storyboard use DiscreteObjectKeyFrame objects and references to brushes with ThemeResource as the key frame value.

<VisualState x:Name="Pressed">
  <Storyboard>
    <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Border"
        Storyboard.TargetProperty="Background">
      <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonPressedBackgroundThemeBrush}" />
    </ObjectAnimationUsingKeyFrames>
    <ObjectAnimationUsingKeyFrames Storyboard.TargetName="ContentPresenter"
         Storyboard.TargetProperty="Foreground">
       <DiscreteObjectKeyFrame KeyTime="0" Value="{ThemeResource ButtonPressedForegroundThemeBrush}" />
    </ObjectAnimationUsingKeyFrames>
  </Storyboard>
</VisualState>

Jeder dieser Pinsel wurde bereits in „generic.xaml” definiert: Die Definition musste durchgeführt werden, bevor diese von Vorlagen genutzt wurden, um XAML-Vorwärtsverweise zu vermeiden.Each of these brushes is defined earlier in generic.xaml: they had to be defined prior to any templates using them to avoid XAML forward references. Unten sind diese Definitionen für das Designverzeichnis „Default” aufgeführt.Here's those definitions, for the "Default" theme dictionary.

    <ResourceDictionary.ThemeDictionaries>
        <ResourceDictionary x:Key="Default">
...
            <SolidColorBrush x:Key="ButtonBackgroundThemeBrush" Color="Transparent" />
            <SolidColorBrush x:Key="ButtonForegroundThemeBrush" Color="#FFFFFFFF" />
...
            <SolidColorBrush x:Key="ButtonPressedBackgroundThemeBrush" Color="#FFFFFFFF" />
            <SolidColorBrush x:Key="ButtonPressedForegroundThemeBrush" Color="#FF000000" />
...

In allen anderen Designverzeichnissen sind diese Pinsel ebenfalls definiert, z. B.:Then each of the other theme dictionaries also has these brushes defined, for example:

        <ResourceDictionary x:Key="HighContrast">
            <!-- High Contrast theme resources -->
...
            <SolidColorBrush x:Key="ButtonBackgroundThemeBrush" Color="{ThemeResource SystemColorButtonFaceColor}" />
            <SolidColorBrush x:Key="ButtonForegroundThemeBrush" Color="{ThemeResource SystemColorButtonTextColor}" />

...
            <SolidColorBrush x:Key="ButtonPressedBackgroundThemeBrush" Color="{ThemeResource SystemColorButtonTextColor}" />
            <SolidColorBrush x:Key="ButtonPressedForegroundThemeBrush" Color="{ThemeResource SystemColorButtonFaceColor}" />

Hier ist der Color -Wert ein weiterer ThemeResource-Verweis auf eine Systemressource.Here the Color value is another ThemeResource reference to a system resource. Wenn Sie auf eine Systemressource verweisen und diese als Reaktion auf eine Designänderung ändern möchten, sollten Sie zum Erstellen des Verweises das ThemeResource-Element verwenden.If you reference a system resource, and you want it to change in response to a theme change, you should use ThemeResource to make the reference.

Windows 8 behaviorWindows 8 behavior

Windows 8 wurde nicht unterstützt. die ThemeResource Markuperweiterung, es ist ab Windows 8.1 verfügbar.Windows 8 did not support the ThemeResource markup extension, it is available starting with Windows 8.1. Darüber hinaus wurde die Windows 8 nicht unterstützt dynamische wechseln die Design-bezogenen Ressourcen für eine Windows-Runtime-app.Also, Windows 8 did not support dynamically switching the theme-related resources for a Windows Runtime app. Die App musste neu gestartet werden, damit die Designänderung für die XAML-Vorlagen und -Formate wirksam wurde.The app had to be restarted in order to pick up the theme change for the XAML templates and styles. Dies ist eine gute benutzererfahrung, nicht, sodass apps dringend empfohlen werden, neu kompilieren und Windows 8.1 als Ziel die Verwendung von Stilen mit ThemeResource Verwendungen und können dynamisch Designs wechseln, wenn der Benutzer ausführt.This isn't a good user experience, so apps are strongly encouraged to recompile and target Windows 8.1 so that they can use styles with ThemeResource usages and can dynamically switch themes when the user does. Apps, die kompiliert wurden, für Windows 8, aber auf Windows 8.1 ausgeführt weiterhin das Windows 8-Verhalten verwenden.Apps that were compiled for Windows 8 but running on Windows 8.1 continue to use the Windows 8 behavior.

Unterstützung von Entwurfszeittools für die {ThemeResource} -MarkuperweiterungDesign-time tools support for the {ThemeResource} markup extension

Microsoft Visual Studio 2013 zählen möglichen Schlüsselwerte in den Dropdownmenüs Microsoft IntelliSense bei der Verwendung der {ThemeResource} -Markuperweiterung in einer XAML-Seite.Microsoft Visual Studio 2013 can include possible key values in the Microsoft IntelliSense dropdowns when you use the {ThemeResource} markup extension in a XAML page. Sobald Sie z. B. „{ThemeResource” eingeben, wird ein beliebiger Ressourcenschlüssel aus den XAML-Designressourcen angezeigt.For example, as soon as you type "{ThemeResource", any of the resource keys from the XAML theme resources are displayed.

Sobald ein Ressourcenschlüssel als Teil einer {ThemeResource} -Verwendung vorhanden ist, kann das Feature Gehe zu Definition (F12) diese Ressource auflösen und Ihnen die Datei „generic.xaml” für die Entwurfszeit anzeigen, in der die Designressource definiert ist.Once a resource key exists as part of any {ThemeResource} usage, the Go To Definition (F12) feature can resolve that resource and show you the generic.xaml for design time, where the theme resource is defined. Da Designressourcen öfter definiert werden (eine pro Design), leitet Gehe zu Definition Sie zu der ersten Definition weiter, die in der Datei gefunden wird; dabei handelt es sich um die Definition für Default.Because theme resources are defined more than once (per-theme) Go To Definition takes you to the first definition found in the file, which is the definition for Default. Sollten Sie die anderen Definitionen benötigen, können Sie innerhalb der Datei anhand des Schlüsselnamens nach den Definitionen der anderen Designs suchen.If you want the other definitions you can search for the key name within the file and find the other themes' definitions.