我的代码中有很多字典绑定。它们中的大多数都没有找到并使用 FallBackValue。
这对用户来说都非常有用。
但是,当我在调试器中运行它时,需要很长时间才能在输出窗口中显示所有这些错误。
我问了这个问题WPF Dictionary Binding failure is very slow并被告知我应该返回 DependencyProperty.UnsetValue。
我已经尝试过了,它可以编译。但是当我运行它时,我得到了一个例外。
有没有办法定义一个也可以返回 DependencyProperty.UnsetValue 的字典? (或其他更快失败的方法。)
更新:这是我尝试过的迭代:
public class NullTolerantDictionary<TKey, TValue>
: Dictionary<TKey, TValue> where TValue : class
{
public new TValue this[TKey key]
{
get
{
TValue value;
bool success = TryGetValue(key, out value);
if (success)
return value;
var errorResult = DependencyProperty.UnsetValue as TValue;
if (errorResult != null)
return errorResult;
return default(TValue);
}
}
}