删除后WPF Combobox ItemSsource不更新

时间:2014-05-22 23:09:20

标签: c# wpf combobox

我在更新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);
        }
    }

我的文档已删除。我的组合框不会更新新的项目来源。 有什么问题?

1 个答案:

答案 0 :(得分:2)

我没有看到任何代码从Dokument ObservableCollection中移除Documents

您可以从基础数据存储库中删除它,但Documents属性与此属性完全断开,并且仍将保留数据实体的副本。