【发布时间】:2020-12-11 11:29:07
【问题描述】:
我从另一个窗口向我的 ListView 添加项目时遇到问题,它没有添加到列表中。 我正在尝试从窗口 WindowTodAddANewBus 向我的 MainWindow 中的 ListView 添加一个项目,当我添加它时,我希望 MainWindow 自动刷新。
使用 ObservableCollection 在 MainWindow.xaml.cs 中定义我的列表
public static List<Bus> buses = new List<Bus>();
public static ObservableCollection<Bus> myCollection { get; set; } = new ObservableCollection<Bus>(buses);
在构造函数中:
public MainWindow()
{
InitializeComponent();
myListView.ItemsSource = buses;
}
当我在 WindowToAddANewBus.xaml.cs 中添加新项目时
Bus b1 = new Bus(myLicenseNum, date);
MainWindow.myCollection.Add(b1);
不知道 ObservableCollection 用得好不好..
如果你能帮助我,请! 谢谢
【问题讨论】:
-
这是对您的代码示例的一般建议,但您应该考虑使用 MvvmLight 之类的东西并绑定到模型,而不是在后面的代码中设置东西,从长远来看,这会使事情变得更容易。
标签: c# wpf listview observablecollection