C# 如何从wpf中的其他窗口更新绑定?

C# 如何从wpf中的其他窗口更新绑定?,c#,wpf,data-binding,C#,Wpf,Data Binding,我有一个可观察的集合绑定到组合框 下面是Xaml <ComboBox Name="Combo" HorizontalAlignment="Left" VerticalAlignment="Top" Width="120" ItemsSource="{Binding Path=coll}"/> <Button Content="Button" Click="Button_Click_1" HorizontalAlignment="Left" VerticalAlignm

我有一个可观察的集合绑定到组合框

下面是Xaml

<ComboBox Name="Combo" HorizontalAlignment="Left" VerticalAlignment="Top" Width="120" 
    ItemsSource="{Binding Path=coll}"/>
<Button Content="Button" Click="Button_Click_1" HorizontalAlignment="Left" VerticalAlignment="Top" 
    Width="75" RenderTransformOrigin="0.649,3.417" Margin="10,36,0,0"/>

在主窗口中,必须将可观察集合添加到其他构造函数中,否则可观察集合没有数据

public MainWindow(string data)
    : this()
{
    coll = new ObservableCollection<string>();
    coll.Add("ABC");
    coll.Add("AAA");
    coll.Add("BBB");
    coll.Add("KKK");
    Combo.SelectedItem = coll[0];

    DataContext = this;

    coll.Add(data);  
}
public主窗口(字符串数据)
:此()
{
coll=新的可观察集合();
coll.Add(“ABC”);
列加(“AAA”);
coll.添加(“BBB”);
coll.添加(“KKK”);
Combo.SelectedItem=coll[0];
DataContext=this;
coll.Add(数据);
}

如果创建主窗口的另一个实例,则此操作有效

您到底想做什么,还不清楚。我正在从Window1将值带入集合,关闭Window1后,组合框不会用我们从Window1输入的值更新。是的,肯定会发生,因为您创建了一个新的主窗口,所以以前的窗口不会被更新。我将添加一个代码。好的,谢谢Harshana Narangoda你能建议我如何处理这种情况吗。我了解到主窗口实例已被更改。单击第二个窗口中的按钮后,我可以知道第一个窗口有两个实例吗?
<TextBox Name="txtBox" HorizontalAlignment="Left" Height="23" TextWrapping="Wrap" 
    VerticalAlignment="Top" Width="120"/>
<Button Content="Button" Click="Button_Click_1" HorizontalAlignment="Left" 
    VerticalAlignment="Top" Width="75" Margin="10,28,0,0"/>
public partial class Window1 : Window
{
    public Window1()
    {
        InitializeComponent();
    }

    private void Button_Click_1(object sender, RoutedEventArgs e)
    {
        MainWindow obj = new MainWindow(txtBox.Text);
        this.Close();
    }
}
public MainWindow(string data)
    : this()
{
    coll = new ObservableCollection<string>();
    coll.Add("ABC");
    coll.Add("AAA");
    coll.Add("BBB");
    coll.Add("KKK");
    Combo.SelectedItem = coll[0];

    DataContext = this;

    coll.Add(data);  
}