我正在嘗試爲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