我的应用程序从单独的XAML
文件中定义的资源字典中加载所有字符串。在运行时,DynamicResource
key 可能不存在。
<CheckBox Content="{DynamicResource myKeyThatIsMissing}"/>
在普通绑定(bind)中,有一个回退值可以像这样使用:
Text="{Binding StringToShow, FallbackValue=DefaultValue}
如果资源键不存在,是否可以为使用
DynamicResource
设置的属性设置默认的备用值? 最佳答案
该类System.Windows.DynamicResourceExtension
是未密封的,因此也许您可以通过重写ProvideValue
方法来扩展它并添加所需的逻辑。
不幸的是,默认实现返回了内部ResourceReferenceExpression
类的实例,因此您可能必须进行一些反射或其他魔术操作才能实现此目的。