Ich habe ein WPF-Fenster, das zwei Vektorbilder aus XAML-Dateien laden soll. (Jede Datei befindet sich in einer separaten Datei für eine einfachere Änderung in Expression Design.)Holen Sie eine Ressource aus einem ResourceDictionary mit einem Schlüssel
Wenn ich die XAML-Dateien in eine MergedDictionary
einfüge, funktioniert es gut. Hier ist der Code ich benutze:
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Images/LCCD logo.xaml" />
<ResourceDictionary Source="Images/LCCD bottom image.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
und
<Image Source="{Binding Source={StaticResource LCCDlogo}}" /> <!-- Simplified -->
<Image Source="{Binding Source={StaticResource LCCDbar}}" /> <!-- Simplified -->
Allerdings habe ich jetzt brauchen mehr auf die Ressourcen des Fenster hinzuzufügen. Die neue Ressource gehört zu diesem Fenster, daher möchten wir, dass sie in derselben Datei statt in einer enthaltenen Datei enthalten ist.
Wenn ich den folgenden Code zwischen <Window.Resources>
und <ResourceDictionary>
hinzufügen, ich folgende Fehlermeldung erhalten:
-Code
<Style TargetType="{x:Type tab:FabTabItem}">
<Setter Property="Header" Value="{Binding Path=LabelText}"/>
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="0,0,4,0">
<TextBlock Text="{Binding}" TextTrimming="CharacterEllipsis"/>
</StackPanel>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
Warnung
The designer does not support loading dictionaries that mix 'ResourceDictionary' items without a key and other items in the same collection. Please ensure that the 'Resources' property does not contain 'ResourceDictionary' items without a key, or that the 'ResourceDictionary' item is the only element in the collection.
So wechsle ich die <ResourceDictionary>
Etikett zu diesem:
<ResourceDictionary x:Key="Images">
Allerdings weiß ich nicht, wie auf die Ressourcen in diesem Wörterbuch jetzt zuzugreifen. Wie erhalten Sie die Ressourcen von innerhalb einer benannten ResourceDictionary
?
EDIT
Es macht nichts. Dies kompiliert, läuft aber nicht.
Der Fehler ist:
''Resources' property has already been set on 'MainWindow'.
Ich denke, ich werde es eine andere Art und Weise zu tun haben.
Das sieht aus wie es funktioniert, und es ist eine viel bessere Antwort als meine. –
@Moshekatz Gut zu helfen –