我遇到了以下 NotSupportedException:
UriTypeConverter 无法从 (null) 转换。
这是发生错误的初始代码:
SlideViewModel s = new SlideViewModel() { Duration = 8 };
_slideList.Add(s);
SlideView = CollectionViewSource.GetDefaultView(_slideList);
SelectedSlide = s; //This is where it crashes
_slideList 是 SlideViewModels 的 ObservableCollection。SelectedSlide 是一个 SlideViewModel。
进入 SelectedSlide 属性的设置器,代码是:
set
{
if (_selectedSlide != value)
{
_selectedSlide = value;
RaisePropertyChanged("SelectedSlide");
}
}
进一步了解 RaisePropertyChanged 函数:
protected void RaisePropertyChanged(String propertyName)
{
VerifyPropertyName(propertyName);
OnPropertyChanged(new PropertyChangedEventArgs(propertyName));
}
然后 OnPropertyChanged:
protected virtual void OnPropertyChanged(PropertyChangedEventArgs e)
{
var handler = this.PropertyChanged;
if (handler != null)
{
handler(this, e); //Crashes here!
}
}
不知道发生了什么。没有内在的例外。