我正在尝试为MVVMLight WPF重新配置MVVMLight SL5应用程序。
我想我已经连接了所有正确的GalaSoft库,但是在启动时,我得到了标题中显示的异常。
它得到的视图模型时的MainPage发生ViewModelLocator:“'MainViewModel'类型必须派生自DependencyObject”
public MainViewModel Main
{
get
{
MainViewModel mvm = null;
try
{
mvm = ServiceLocator.Current.GetInstance<MainViewModel>();
}
catch (Exception xx)
{
System.Diagnostics.Debug.WriteLine(xx.Message);
}
return mvm;
}
}
唯一的例外来自的GetInstance()调用。
MainPage从Window派生; DataContext在xaml中设置。
DataContext="{Binding Main, Source={StaticResource Locator}}"
上什么错误,将不胜感激.... (靶向.NET 4.5,GalaSoft WPF4库v4.0.30319)
这通常来自于尝试在不继承DependencyObject的类型上注册依赖项属性。检查完整的堆栈跟踪(包括内部异常,递归),它应该引导您解决问题。 – 2013-04-11 19:45:06
感谢您的回复,d.k.{System.Reflection.TargetInvocationException} + _innerException \t {“异常已被调用的目标引发。”} {System.Reflection.TargetInvocationException异常已被调用的目标抛出。 } + _innerException \t { “关于 'IRUploader.ViewModel.MainViewModel' 的类型初始引发了异常。”} {System.TypeInitializationException} + _innerException { “ 'MainViewModel' 类型必须自DependencyObject派生。”}中MainViewModel构造函数 断点从未被击中。 MainViewModel派生自MVVMLight ViewModelBase。 – Number8 2013-04-11 23:21:01
我不希望一个构造函数断点被打 - 问题可能是像'公共静态只读DependencyProperty x = DependencyProperty.Register(...)' – 2013-04-12 03:22:36