如何强制WPF绑定刷新?

| 我有一个使用简单绑定附加项目源的组合框。加载组合框后,是否有任何方法可以刷新此绑定?     
已邀请:
您可以使用绑定表达式:
private void ComboBox_Loaded(object sender, RoutedEventArgs e)
{
    ((ComboBox)sender).GetBindingExpression(ComboBox.ItemsSourceProperty)
                      .UpdateTarget();
}
但是正如Blindmeis所述,您还可以触发变更通知,而且,如果您的集合实现
INotifyCollectionChanged
(例如在
ObservableCollection<T>
中实现),它将进行同步,因此您无需执行任何操作。     
如果您使用mvvm,并且itemssource位于vm中。要刷新时,只需为集合属性调用INotifyPropertyChanged即可。
OnPropertyChanged(\"YourCollectionProperty\");
    
要加上2美分,如果您想使用控件的新值更新数据源,则需要调用call4ѭ而不是
UpdateTarget()
((TextBox)sender).GetBindingExpression(ComboBox.TextProperty).UpdateSource();
    
MultiBinding友好版本...
private void ComboBox_Loaded(object sender, RoutedEventArgs e)
{
    BindingOperations.GetBindingExpressionBase((ComboBox)sender, ComboBox.ItemsSourceProperty).UpdateTarget();
}
    
尝试使用
BindingExpression.UpdateTarget()
    
我从后端获取数据,并仅用一行代码更新了屏幕。有效。不确定,为什么我们需要实现接口。 (Windows 10,UWP)
    private void populateInCurrentScreen()
    {
        (this.FindName(\"Dets\") as Grid).Visibility = Visibility.Visible;
        this.Bindings.Update();
    }
    

要回复问题请先登录注册