我声明了ObservableCollection<T>
中的string
,如下所示:
private ObservableCollection<string> riStrips = new ObservableCollection<string>();
public ObservableCollection<string> RiStrips
{
get
{
return riStrips;
}
set
{
riStrips = value;
OnPropertyChanged("RiStrips");
}
}
我有一个添加到集合中的函数,通过单击按钮将字符串传递给它来调用:
public void AddRiStrip(string riStrip)
{
if (riStrips.Contains(riStrip))
{
MessageBox.Show("Duplicate strip already in list.");
return; //no dupes
}
riStrips.Add(riStrip);
OnPropertyChanged("RiStrips");
}
,并且有效。我有一个函数可以删除通过单击按钮并传递字符串的项目,该项目也可以通过单击按钮来调用:
public void RemoveStrip(string riStrip)
{
if (riStrips.Contains(riStrip)) riStrips.Remove(riStrip);//crashes on this line
OnPropertyChanged("RiStrips");
}
并导致程序因以下异常而崩溃:
System.NullReferenceException HResult=0x80004003 Message=Object reference not set to an instance of an object. Source=Message Template
此功能在辅助窗口中。我在主窗口中有一个相同的函数(变量名除外),它可以正常工作。我错过了什么?