首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何强制WPF绑定刷新?

如何强制WPF绑定刷新?
EN

Stack Overflow用户
提问于 2011-04-15 19:46:00
回答 6查看 139.8K关注 0票数 119

我有一个组合框与项目的来源附加使用简单的绑定。加载组合框后,有没有办法刷新这个绑定?

EN

回答 6

Stack Overflow用户

发布于 2011-04-15 19:50:15

您可以使用绑定表达式:

代码语言:javascript
复制
private void ComboBox_Loaded(object sender, RoutedEventArgs e)
{
    ((ComboBox)sender).GetBindingExpression(ComboBox.ItemsSourceProperty)
                      .UpdateTarget();
}

但是,您也可以触发更改通知,而且,如果您的集合实现了INotifyCollectionChanged (例如,在ObservableCollection<T>中实现),它将同步,因此您不需要执行任何这些操作。

票数 213
EN

Stack Overflow用户

发布于 2011-04-15 20:18:27

如果您使用mvvm,并且您的项目源位于您的vm中。当你想刷新时,只需为你的集合属性调用INotifyPropertyChanged即可。

代码语言:javascript
复制
OnPropertyChanged("YourCollectionProperty");
票数 59
EN

Stack Overflow用户

发布于 2014-02-09 13:48:40

另外,如果您想用控件的新值更新数据源,则需要调用UpdateSource()而不是UpdateTarget()

代码语言:javascript
复制
((TextBox)sender).GetBindingExpression(TextBox.TextProperty).UpdateSource();
票数 35
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5676202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档