首页 新闻 会员 周边 捐助

WPF的ComboBox如果选择另一个值时报错则界面显示上一个值.MVVM

0
悬赏园豆:20 [已解决问题] 解决于 2013-08-12 15:41
初始值:
KeyBords有两个值One、Two.
SelectedKeyBordValue=Two
.

xaml文件代码:

<ComboBox  ItemsSource="{Binding KeyBords}" SelectedValue="{Binding SelectedKeyBordValue}"/>
ViewModel代码:
public String SelectedKeyBordValue
{
get { return selectedKeyBordValue; }
set
{
if (!this.SelectedKeyBordChanged(value))
{
return;
}
selectedKeyBordValue = value;
base.RaisePropertyChanged("SelectedKeyBordValue");
}
}
最初选中时的Two。当我选择One的时候,this.SelectedKeyBordChanged(value))返回false.
ViewModel里面SelectedKeyBordValue值还是Two,但是界面已经改为One。
我的问题是:我想界面值也是Two和SelectedKeyBordValue值一样.

如果以上看不懂可以看需求:
Combobox绑定的集合项包含值1,值2。值1处于选中状态和后台同步。
当界面选择值2的时候,我希望前台和后台值不变(当然是出现了错误)。
目前状况是:前台变了,而后台没变。
问题补充:

正解:其实就是线程同步没有实现前台更改,前台更新改为异步就可以。

将IsAsync设置为True
亲福的主页 亲福 | 初学一级 | 园豆:40
提问于:2013-08-12 14:00
< >
分享
最佳答案
0

正解:其实就是线程同步没有实现前台更改,前台更新改为异步就可以。

将IsAsync设置为True
亲福 | 初学一级 |园豆:40 | 2013-08-12 15:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册