我用此构造函数初始化该对象为什么observablecollection初始化为null?
ObservableCollection<MyHomeworkModel> allTabs = new ObservableCollection<MyHomeworkModel>();
原来allTabs是初始化后空。因此,我无法将MyHomeworkModel对象添加到它。
请帮助我,并提前致谢。
using System.Windows.Input;
using System.Collections.ObjectModel;
using MyHomework;
namespace MyHomework__MVVM_
{
class MyHomeworkViewModel
{
private ObservableCollection<MyHomeworkModel> allTabs;
private MyHomeworkModel selectedTab;
public MyHomeworkViewModel()
{
ObservableCollection<MyHomeworkModel> allTabs = new ObservableCollection<MyHomeworkModel>();
selectedTab = new MyHomeworkModel();
AddCourseCommand = new AddCourseCommand(this);
}
public ObservableCollection<MyHomeworkModel> AllTabs
{
get
{
return allTabs;
}
set
{
allTabs = value;
}
}
public MyHomeworkModel SelectedTab
{
get
{
return selectedTab;
}
set
{
selectedTab = value;
}
}
public ICommand AddCourseCommand
{
get;
private set;
}
public void AddNewTab()
{
NewCourseName ncn = new NewCourseName();
ncn.ShowDialog();
if (ncn.courseName != null)
{
MyHomeworkModel newTab = new MyHomeworkModel();
newTab.Header = ncn.courseName;
AllTabs.Add(newTab);
}
}
}
}
你确定你看** ** **对象。答案是你的应用程序中有多个allTabs对象? – Tigran
尝试创建一个属性到这个变量,并设置一个断点到Setter中,而不是在设置为Null后查看它的运行位置 – Venson
我认为你错过了allTabs被更改的地方。在代码_in isolation_之后,allTabs将**不**为空。 –