<Combobox ItemsSource="{Binding Path=Delimiters}" DisplayMemberPath="Key"
SelectedValue="{Binding Path=SelectedDelimiter, UpdateSourceTrigger=PropertyChanged}" />
这是我的组合框在XAML与字典对象绑定组合框,但后面未生效
这里实例化与填充在构造字典视图模型对应的绑定在代码中设置选定值。
private IDictionary<string,string> _delimiters;
public IDictionary<string,string> Delimiters
{
get{return _delimiters;}
set{_delimiters = value; RaisePropertyChanged("Delimiters");}
}
private KeyValuePair <string, string> _selectedDelimiter;
public KeyValuePair <string, string> SelectedDelimiter
{
get{return _selectedDelimiter;}
set{
if(value.Key != _selectedDelimiter.Key || value.Value != _selectedDelimiter.Value)
{
var prevDelimiter = _selectedDelimiter;
_selectedDelimiter = value;
if(IllegalDelimiter.Contains(_selectedDelimiter)
{
MessageBox.Show("errror", "error");
_selectedDelmiter = prevDelimiter;
}
RaisePropertyChanged("SelectedDelimiter");
}
}
}
基本上我遇到了绑定选定值的麻烦。字典越来越受限制,当我改变了UI组合框时,设置被正确地触发。在if语句来检查,如果其非法的分隔符,但它在代码中设置选定的值返回到其原始值背后,却是不填充到ComboBox UI(我看到get访问从UI射击)。它的设置selectedvalue并不真正对UI做任何事情。
,如果有人可以点我在正确的方向?
我面临着类似的东西..如果你还记得你可以让我知道你所说的“更新相同的属性在二传手”是什么意思? – Tany