<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