我正在尝试为我的业务实体中的不同状态设置静态资源。这个想法是我可以使用值转换器来获取业务实体并根据算法返回相应的背景画笔。我希望资源是静态的,因此我可以在设计器中设计它们并手动切换它们以预览它在开发过程中的样子,但能够以编程方式使用它们。
目标是有一些沿着这些方向的东西:
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;
}
如果静态资源在层次结构的页面/控件/框架元素中声明,我如何从值转换器内部访问它?我已将值转换器设置为 DependencyObject,但我不确定如何从那里导航层次结构。