Laden...

Binding auf statische Ressource von anderem Projekt

Erstellt von Mazo vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.256 Views
M
Mazo Themenstarter:in
255 Beiträge seit 2006
vor 12 Jahren
Binding auf statische Ressource von anderem Projekt

Hallo C-Sharper,

ich habe in meiner Solution 2 Projekte, das erste ist ein Toolkit und das Zweite enthält meine Oberfläche, Logik, etc. In meiner Anwendung lade ich von einem Server extern Farbwerte für die verschiedenen Controls. Nun versuche ich aus meinem Toolkit ein Binding auf eine statische Ressource in meinem anderen Projekt zu erstellen (definiert in App.xaml).

Ich hab es folgener maßen versucht:


xmlns:box="clr-namespace:Projekt.Box"
...
<Rectangle x:Name="background" Fill="{Binding Path=box:App ,Source={StaticResource ActiveBackgroundColor}}"/>

Leider klappt es weder mit eingesetztem (Path=Projekt.Box.App) noch mit ausgelagertem (Path=box:App) Namespace.

Wie wäre der richtige Lösungsweg?

Vielen Dank für euere Hilfe!

109 Beiträge seit 2011
vor 12 Jahren

Hallo Mazo,

was klappt denn nicht? Kompilierfehler oder macht er nicht so wie es soll? Gibt es Fehlermeldungen im Ausgabefenster?

Ich vermute aber mal du mußt den DataContext auf Box setzen und den BindingPath dann bspw. auf ActiveBackgroundColor.

EDIT:

(definiert in App.xaml)

überlesen 😃 also dort stellst du die Verbindung zur Datenbank her? Kannst du das dann in deinem Toolkit-Projekt evtl. über die ResourceDictionary.MergedDictionaries Property hinbekommen?

Um Rekursion zu verstehen, muss man erst mal Rekursion verstehen, muss man erst mal Rekursion verstehen, ....

M
Mazo Themenstarter:in
255 Beiträge seit 2006
vor 12 Jahren

Hallo wackelkontakt,

es läuft, aber es passiert nicht das was soll. Ich habe in der App.xaml die Ressourcen als SolidColorBrushes definiert. Diese haben eine festen Wert. Zur Laufzeit rufe ich dann aktuelle Werte vom Server ab und überschreibe die Ressourcen Application.Current.Ressources["ActiveBackgroundColor"] = newColorBrush . Damit aktualisieren sich in dem Projekt (bzw den Controls) alle Farben automatisch. Damit das mit den Controls des Toolkits (das zweite Projekt) genauso klappt, müssten diese auf die Ressource der Application des ersten Projekts gebunden werden. ResourceDictionary.MergedDictionaries Property hilft mir an der Stelle glaube ich nicht weiter, da die App.xaml ja in einem anderen Projekt liegt. Eigentlich braüchte ich nur den richtigen BindingString, der Projekt bzw Namespace mit berücksichtigt, allerdings weiß ich nicht wie ein solcher aufgebaut ist.