我有几个与字典绑定的文本框
<TextBox Text="{Binding Path=MyField[NotDefinedIndex], Mode=TwoWay}"></TextBox>
如果我尝试使用未在数据上下文中定义的索引,它会引发“无法连接到索引”异常。有没有办法捕获这个错误,定义索引 (MyFileld["NotDefinedIndex"] = string.Empty) 然后完成绑定?
有什么方法可以绑定 .NET Framework 中的索引属性?
我有几个与字典绑定的文本框
<TextBox Text="{Binding Path=MyField[NotDefinedIndex], Mode=TwoWay}"></TextBox>
如果我尝试使用未在数据上下文中定义的索引,它会引发“无法连接到索引”异常。有没有办法捕获这个错误,定义索引 (MyFileld["NotDefinedIndex"] = string.Empty) 然后完成绑定?
有什么方法可以绑定 .NET Framework 中的索引属性?
在绑定到未定义的索引时隐藏绑定错误可能不是一个好主意。但是,可以定义一个将访问字典并string.Empty
在值不存在时返回的属性,因此您不会收到绑定错误。例如,在您的视图模型中:
public Dictionary<string, string> MyField { get; set; }
public string this[string key]
{
get
{
string result;
if (MyField.TryGetValue(key, out result))
{
return result;
}
return string.Empty;
}
}
然后在 XAML 中:
<TextBox Text="{Binding Path=[NotDefinedIndex], Mode=TwoWay}"></TextBox>