C# 使用lstListbox.Items.Add(oClass)到另一个窗口的列表框
我有一个名为oToevoegen的类,如何将oToevoegen添加到主窗口的列表框中?window1将值传递给主窗口,以下代码是我的简单演示: 奥特沃根级:C# 使用lstListbox.Items.Add(oClass)到另一个窗口的列表框,c#,wpf,visual-studio,C#,Wpf,Visual Studio,我有一个名为oToevoegen的类,如何将oToevoegen添加到主窗口的列表框中?window1将值传递给主窗口,以下代码是我的简单演示: 奥特沃根级: public class oToevoegen { public string Name { get; set; } } Window1代码: public partial class Window1 : Window { public Window1() {
public class oToevoegen
{
public string Name { get; set; }
}
Window1代码:
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
MainWindow.oc.Add(new oToevoegen { Name = "Name2" });
}
}
Window1.xaml
<StackPanel>
<Button Content="btn1" Click="Button_Click"/>
</StackPanel>
主窗口代码:
public partial class MainWindow : Window
{
public static ObservableCollection<oToevoegen> oc { get; set; }
public MainWindow()
{
InitializeComponent();
oc = new ObservableCollection<oToevoegen>();
this.lstFinanceInfo.ItemsSource = oc;
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
oc.Add(new oToevoegen() { Name = "Name1" });
Window1 w1 = new Window1();
w1.Show();
}
}
公共部分类主窗口:窗口
{
公共静态ObservableCollection oc{get;set;}
公共主窗口()
{
初始化组件();
oc=新的ObservableCollection();
this.lstFinanceInfo.ItemsSource=oc;
}
已加载私有无效窗口(对象发送器、路由目标)
{
oc.Add(new oToevoegen(){Name=“Name1”});
Window1 w1=新的Window1();
w1.Show();
}
}
MainWindow.xaml
<StackPanel>
<ListBox x:Name="lstFinanceInfo" >
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<TextBox x:Name="TextBox1"/>
</StackPanel>
您能分享一下您到目前为止所做的尝试吗?是的,很抱歉这么不具体,我目前正在使用mainWindow wdwMain=new mainWindow()链接主窗口;然后使用wdwMain.lstFinanceInfo.Items.Add(otoEvoGen);若要将类添加到listbox,但主窗口中的listbox不更新,并且未添加该类(我没有任何错误,因此我不明白为什么这样做不起作用),请添加代码在Visual Studio的输出窗口中是否看到绑定错误?您能否在问题中包含main窗口的XAML
以及有关创建要添加的对象并调用Add
方法的代码的更多上下文?欢迎使用。请关注如何提问并获得更好答案的链接。