H.B*_*.B. 189
您可以使用绑定表达式:
private void ComboBox_Loaded(object sender, RoutedEventArgs e)
{
((ComboBox)sender).GetBindingExpression(ComboBox.ItemsSourceProperty)
.UpdateTarget();
}
Run Code Online (Sandbox Code Playgroud)
但正如Blindmeis所指出的那样,你也可以发送更改通知,如果你的集合实现INotifyCollectionChanged(例如在其中实现ObservableCollection<T>),它将同步,所以你不需要做任何这些.
bli*_*eis 53
如果您使用mvvm并且您的itemssource位于您的虚拟机中.当您想要刷新时,只需为您的集合属性调用INotifyPropertyChanged.
OnPropertyChanged("YourCollectionProperty");
Run Code Online (Sandbox Code Playgroud)
dot*_*NET 28
要添加我的2美分,如果您想使用Control的新值更新数据源,则需要调用UpdateSource()而不是UpdateTarget():
((TextBox)sender).GetBindingExpression(ComboBox.TextProperty).UpdateSource();
Run Code Online (Sandbox Code Playgroud)
MultiBinding友好版......
private void ComboBox_Loaded(object sender, RoutedEventArgs e)
{
BindingOperations.GetBindingExpressionBase((ComboBox)sender, ComboBox.ItemsSourceProperty).UpdateTarget();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
110856 次 |
| 最近记录: |