正如我们知道的那样,如果找不到密钥,它会引发异常。 但是,有没有办法阻止这个,只是将控件的可见性设置为隐藏?或者像绑定一样给它一个 FallbackValue ? / p>
一个简单的例子:
<TextBlock Text="{StaticResource myKey}"/>
现在“myKey”没有被定义,它默认会引发异常。但是我希望我可以将TextBlock的Visiblity设置为隐藏:
<TextBlock Text="nothing here" Visibilty="Hidden">
或:
<TextBlock Text="nothing here" FallbackValue="default value">
(注意:“FallbackValue”确实不存在)
然后申请可以继续。没有错,欢呼:)
答案 0 :(得分:0)
到目前为止,我可以理解你的问题,你可以把你的代码放到try子句中,并捕获异常..它至少允许你用控件执行操作。 (记住你可以使用finally子句强行执行)..
如果我的假设是错误的,我会事先道歉并要求更具体:)祝你好运
答案 1 :(得分:0)
简单实施:
我们可以继承StaticResourceExtension(是的,它没有密封:)),然后覆盖ProvideValue方法,返回默认值。
解决:)