C# 组合框未使用新数据刷新

C# 组合框未使用新数据刷新,c#,wpf,C#,Wpf,我在代码背后有一个可观察的集合属性 public ObservableCollection<ChildGroupComboBoxBO> ChildGroupOC { get { return childGroupOC;} set { childGroupOC = value; } } public observetecollection

我在代码背后有一个可观察的集合属性

 public ObservableCollection<ChildGroupComboBoxBO> ChildGroupOC {
      get 
      { return childGroupOC;}
      set                 
      {
         childGroupOC = value;               
      }
 }
public observetecollection ChildGroupOC{
得到
{返回childGroupOC;}
设置
{
childGroupOC=值;
}
}
此集合绑定到xaml中的组合框:

<ComboBox ItemsSource="{Binding ChildGroupOC}" DisplayMemberPath="groupName" />


当我读取并加载页面时,我从数据库中读取数据,加载可观察的集合,它会很好地绑定到组合框。但是,当我向数据库中添加一条记录,并使用完全相同的例程再次加载组合框时,新记录不会显示在列表中,即使我可以在memeory中看到它被添加到集合中。如何让组合框刷新其列表?

不要重新创建可观察的集合。清除其值并再次添加所有值。最好是简单地将存储到数据库中的一个值添加到现有数据库中


绑定表达式绑定到旧实例,并且您设置了
ChildGroupOC=newobserveablecollection(…)
-绑定仍然跟踪旧实例。

不要重新创建可观察的集合。清除其值并再次添加所有值。最好是简单地将存储到数据库中的一个值添加到现有数据库中


绑定表达式绑定到旧实例,您可以设置
ChildGroupOC=newobservetecollection(…)
-绑定仍然跟踪旧实例。

我需要插入数据库的值的id,这是一个标识字段。我应该查询最大值,然后手动将其添加到可观察集合中吗?这看起来很混乱。@nikotromus取决于在
ChildGroupComboxBo
中做了多少工作,我会查询我插入的确切项目(通过它的其他值字段)——或者使用一个插入过程返回我的ID,或者询问DBContext所有ID,看看哪个ID还没有在我的可观察项中,或者。。。有几种可能性是有道理的。我可以有问题地实例化一个新对象,但它却不接受更改,这看起来很奇怪。既然我知道它是如何工作的,我就可以用它了。谢谢Patrick。我需要插入数据库的值的id,这是一个标识字段。我应该查询最大值,然后手动将其添加到可观察集合中吗?这看起来很混乱。@nikotromus取决于在
ChildGroupComboxBo
中做了多少工作,我会查询我插入的确切项目(通过它的其他值字段)——或者使用一个插入过程返回我的ID,或者询问DBContext所有ID,看看哪个ID还没有在我的可观察项中,或者。。。有几种可能性是有道理的。我可以有问题地实例化一个新对象,但它却不接受更改,这看起来很奇怪。既然我知道它是如何工作的,我就可以用它了。谢谢你,帕特里克。