我在更新Combobox时遇到问题。我已经实现了INotifyPropertyChanged。一切都很好,它是绑定的。所以这是我的Combobox:
<ComboBox Grid.Column="1" Grid.Row="0"
ItemsSource="{Binding Path=Documents, UpdateSourceTrigger=PropertyChanged, NotifyOnSourceUpdated=True,Mode=TwoWay}"
DisplayMemberPath="BrDokumentaDatum"
SelectedValuePath="IdDokumenta"
SelectedItem="{Binding Path=CurrentDocument, UpdateSourceTrigger=PropertyChanged}"
IsSynchronizedWithCurrentItem="True"
SelectedIndex="0">
</ComboBox>
这是我的ViewModel:
private ObservableCollection<Dokument> documents;
public ObservableCollection<Dokument> Documents
{
get
{
return this.documents;
}
set
{
this.documents = value;
OnPropertyChanged("Documents");
}
}
我有一个绑定到我的按钮的命令
public ICommand DeleteDocumentCommand
{
get
{
if (this.deleteDocumentCommand == null)
{
this.deleteDocumentCommand = new CommandBase(i => this.DeleteDocument(), null);
}
return this.deleteDocumentCommand;
}
}
DeleteDocument()调用我的服务:
private void DeleteDocument()
{
if (confirm("Želite li obrisati odabrani dokument", "Obriši dokment"))
{
bool deleted = serviceClient.DeleteDocument(this.CurrentDocument.IdDokumenta);
}
}
我的文档已删除。我的组合框不会更新新的项目来源。 有什么问题?
答案 0 :(得分:2)
我没有看到任何代码从Dokument
ObservableCollection中移除Documents
。
您可以从基础数据存储库中删除它,但Documents
属性与此属性完全断开,并且仍将保留数据实体的副本。