Ich versuche statische Ressourcen für verschiedene Zustände in meinen Geschäftseinheiten einzurichten. Die Idee ist, dass ich einen Wertkonverter verwenden kann, um die Geschäftsentität zu übernehmen und den entsprechenden Hintergrundpinsel abhängig von einem Algorithmus zurückzugeben. Ich möchte, dass die Ressourcen statisch sind, damit ich sie im Designer entwerfen und sie manuell umschalten kann, um eine Vorschau zu erhalten, wie es während der Entwicklung aussehen würde, aber in der Lage sein, sie programmatisch zu verwenden.Verwenden von ValueConverter zum Zurückgeben von StaticResource
Ziel etwas in dieser Richtung zu haben wäre:
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
var data = value as DummyData;
if (data == null)
return null;
//Find resources
if (data.VarianceAmount >= 0)
return StaticResources.HighBackground;
else
return StaticResources.LowBackground;
}
Wenn die statischen Ressourcen werden in der Seite/Steuerung/Rahmenelement in der Hierachie erklärt, wie greife ich es aus dem Inneren des Werteumwandler ? Ich habe meinen Wertkonverter auf ein DependencyObject gesetzt, aber ich bin mir nicht sicher, wie ich von dort aus die Hierarchie steuern soll.
+1 Viel bessere Lösung. Habe meine Antwort gelöscht –