wpf - 一次更新 UserControl 中的所有绑定(bind)

标签 wpf data-binding wpf-controls custom-controls

当 UserControl 的可见性更改为 Visible 时,我需要更新其上的所有绑定(bind)。几乎我所有的绑定(bind)都绑定(bind)到用​​户控件的 DataContext 属性,所以我正在尝试更新该绑定(bind)的目标:

BindingOperations.GetBindingExpressionBase(this, UserControl.DataContextProperty).UpdateTarget();

但我得到 null作为 GetBindingExpression(..) 的结果方法,我想知道我是否用错了。

此外,是否有任何其他好方法来刷新控件上的所有绑定(bind)(使用 DataContext 作为源)。

最佳答案

好吧,您可以重新分配 DataContext :

var dataContext = DataContext;
DataContext = null;
DataContext = dataContext;

仅供引用,将属性重置为其值(即 DataContext = DataContext )将不起作用。

关于wpf - 一次更新 UserControl 中的所有绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/794370/

相关文章:

c# - 如何在 App.Config 中设置相对路径?

c# - 在 ObservableCollection 的特定元素上绑定(bind) DataGrid

javascript - Knockoutjs - 在使用 foreach 而不是选项时丢失了选择值的两种绑定(bind)方式

c# - WPF 使用类和子类绑定(bind)到 DataContext

c# - 从 CodeBehind 访问 DataTemplate 中的 XAML 控件?

wpf - 当文本开始超出边框时,是否可以缩放文本框中的文本大小?

wpf - 如何重构 WPF 中的事件?

c# - 如何使用 linq 向关系表中的实体添加数据?

c# - 在代码隐藏中动态地将内容添加到堆栈面板

.net - Visibility.Collapse 在 WPF 中不起作用