我在我的代碼中有不少字典綁定。他們大多數沒有找到並使用FallBackValue。字典比可以返回DependencyProperty.UnsetValue
這一切都對用戶很有用。
但是,當我在調試器中運行它時,需要很長時間才能在輸出窗口中顯示所有這些錯誤。
我問了這個問題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);
}
}
}