Erhalten Sie eine Ressource aus einem ResourceDictionary mit einem Schlüssel
Habe ich ein WPF-Fenster, soll das laden von zwei Vektor-Bilder von XAML-Dateien. (Jeweils in einer separaten Datei für eine einfachere änderung in Expression Design.)
Wenn ich den XAML-Dateien in ein MergedDictionary
es funktioniert gut.
Hier ist der code den 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 -->
Doch nun benötige ich eine weitere hinzufügen, um das Fenster Ressourcen. Die neue Ressource gehört zu diesem Fenster, so wollen wir es in der gleichen Datei statt einer Datei enthalten.
Wenn ich, fügen Sie den folgenden code zwischen <Window.Resources>
und <ResourceDictionary>
, bekomme ich die folgende Fehlermeldung:
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
Designer unterstützt nicht das laden von Wörterbüchern, mix
'ResourceDictionary' Elemente ohne Schlüssel und andere Gegenstände in der gleichen
Sammlung. Bitte stellen Sie sicher, dass die 'Ressourcen' - Eigenschaft nicht
enthalten "ResourceDictionary" Elemente ohne Schlüssel, oder dass die
'ResourceDictionary' Element ist das einzige element in der Sammlung.
Damit ich die <ResourceDictionary>
tag dieser:
<ResourceDictionary x:Key="Images">
Aber ich weiß nicht, wie Sie auf die Ressourcen innerhalb dieses Wörterbuch jetzt. Wie bekommt man die Ressourcen, die aus einem Namen ResourceDictionary
?
BEARBEITEN
Nie Verstand. Das kompiliert, aber nicht ausgeführt.
Der Fehler ist:
"Ressourcen" - Eigenschaft bereits festgelegt wurde auf 'MainWindow'.
Ich denke, ich werde zu tun haben, es auf eine andere Weise.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laut der MSDN-Seite auf MergedResourceDictionary ist es ist legal, aber nicht Häufig, um eine Ressource definieren, die in einem ressourcenwörterbuch, das angegeben ist in einem MergedDictionary. Von der oben genannten Seite.
So geben diese einen Versuch zu sehen, ob es funktioniert.
Ich landete bewegen der
<Style>
weiter unten in der Datei, auf das übergeordnete element der Elemente, die diesen Stil verwendet.Es ist nicht die beste Lösung, aber es funktioniert.