-1

正如我们所知,如果没有找到密钥,它会引发异常。但是,有没有办法防止这种情况,只需将控件的可见性设置为隐藏?或者像绑定一样给它一个FallbackValue ?

一个简单的例子:
<TextBlock Text="{StaticResource myKey}"/>
现在“myKey”没有定义,默认情况下会引发异常。但我希望我可以将TextBlock的Visiblity设置为隐藏:
<TextBlock Text="nothing here" Visibilty="Hidden">
或者:(
<TextBlock Text="nothing here" FallbackValue="default value">注意:“FallbackValue”确实不存在)
然后应用程序可以继续。没有错,干杯:)

4

2 回答 2

0

到目前为止,我可以理解您的问题,您可以将代码放入 try 子句中,然后捕获异常。它至少允许您使用控件执行操作。(请记住,您可以使用 finally 子句强制执行)..

如果我的假设是错误的,我提前道歉并要求更具体:) 祝你好运

于 2013-03-28T14:59:47.490 回答
0

一个简单的实现:
我们可以继承StaticResourceExtension(是的,它不是密封的:)),然后重写ProvideValue方法,返回一个默认值。
解决了:)

于 2013-03-29T15:20:51.613 回答