0

我已使用以下代码将 ListBox 绑定到 SQL CE 数据库:

ItemsSource="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:DatabaseWindow}}, Path=Database.Photos1}"

此 ListBox 已正确填充。但是当我尝试在数据库中插入一行时(InsertOnSubmit + SubmitChagnes),ListBox 没有更新!

我努力了:

ListBox.Items.Refresh();

ListBox.GetBindingExpression(ListBox.ItemsSourceProperty).UpdateTarget();

ListBox.ItemsSource = null; 
ListBox.ItemsSource = this.Database.Table;

这些都没有帮助。如何更新列表框?!

PS:重新加载数据库后,该行出现在ListBox中。PPS:如果有人知道带有 WPF 的 SQL CE 教程,其中显示了插入到 ListBox 中 - 那也很棒!

4

1 回答 1

1

确保您分配给 ItemsSource 的数据实现了 INotifyCollectionChanged。(例如,您可以将您的项目放入 ObservableCollection) 此外,要反映对您的个别项目的更改,您必须实施 INotifyPropertyChanged。

于 2009-04-27T18:03:12.570 回答