2012-04-09 8 views
1

Ich habe ein Steuerelement, das viele Themen hat und jedes Thema wird von einem ResourceDictionary dargestellt. Das Problem ist, dass die Wörterbücher sind nahezu identisch und unterscheiden sich nur in der beggining wo ich Farbe Bürsten erklärt haben, zum Beispiel:Verwenden Sie einzelnes ResourceDictionary für mehrere Themen WPF

<SolidColorBrush x:Key="FirstRd1" Color="#3F555555" /> 
<SolidColorBrush x:Key="SecondRd1" Color="#00000000" /> 
<SolidColorBrush x:Key="ThirdRd1" Color="#FF333333" /> 
<SolidColorBrush x:Key="FourthRd1" Color="#FF000000" /> 

Diese Bürsten (und andere XAML-Objekte für Stil) werden hier und dort auf die verwendete gleicher Platz, wie folgt:

<!-- ResourceDictionary 1 --> 
<Border CornerRadius="4" 
     Margin="0, 0, 0, 0" 
     BorderThickness="1" 
     BorderBrush="{StaticResource FirstRd1}"> 
     <!-- Some content --> 
</Border> 

<!-- ResourceDictionary 2 --> 
<Border CornerRadius="4" 
     Margin="0, 0, 0, 0" 
     BorderThickness="1" 
     BorderBrush="{StaticResource FirstRd2}"> 
     <!-- Some content --> 
</Border> 

Wie verschiebt man die gleichen Elemente mit unterschiedlichen Pinsel wie oben in einer einzigen Datei? Es gibt auch andere Elemente, die nicht von den Pinseln abhängen, aber sie sind verschachtelt oder haben verschachtelte abhängige Steuerelemente. Was wird die beste Lösung in dieser Situation sein, da ich nicht 15 Dateien für eine einzelne Dummy-Änderung bearbeiten möchte?

Antwort

1

Sie können Ressourcenwörterbücher zusammenführen. Deklarieren Sie Ihre gemeinsamen Sachen in einer Datei, dann erstellen Sie für die differenzierten Teile jede ihre eigene Datei und verschmelzen Sie sie mit der gemeinsamen Datei.

Siehe http://msdn.microsoft.com/en-us/library/aa350178.aspx

+0

ich über die Einarbeitungsoption wissen, aber zur Zeit kann ich es nicht verwenden, da die Kontrollen thightly gekoppelt sind, zum Beispiel der Haupt Grenze auf dem vordefinierten Pinsel hängt und jede andere Steuerung ist in diesem Grenz verschachtelt . Innerhalb dieser Steuerelemente gibt es andere Steuerelemente, die von den Pinseln abhängen, so dass ich nicht einfach die unabhängigen Teile verschieben kann. – Unknown

+1

Wahrscheinlich müssen Sie StaticResource durch DynamicResource ersetzen, um die Kohäsion zu verringern – koshdim

Verwandte Themen