2010-12-18 5 views
0

Der Kontext ist eine Silverlight-Anwendung für Windows Phone 7. Ich debugging mit dem Emulator.NotImplementedException 0x80004001 nach dem Aktualisieren der Eigenschaft in ViewModel

Ich habe eine MainPage.xaml mit einem ViewModel in seinem DataContext angefügt.
Wenn die Seite NavigatedTo ist, wird im ViewModel eine Methode aufgerufen, um eine API aufzurufen und Informationen anzuzeigen.

Ich habe eine Methode, die ein Dictionary<string, string> erstellen, füllen Sie es mit Daten und setzen Sie es in einer Eigenschaft, die das PropertyChanged Ereignis implementiert.

Nachdem diese Methode aufgerufen wurde, unterbricht der Debugger App.Application_UnhandledException mit NotImplementedException.

Wenn ich den Aufruf dieser Methode mit dem Debugger überspringe, wird die Ausnahme nicht ausgelöst.

Die seltsame Sache ist, dass die Ausnahme nach dem Aufruf der Methode ausgelöst wird und nicht innerhalb! Die Ausnahme enthält keine InnerException. Es gibt ein HResult von -2147467263 und eine Nachricht, die "0x80004001" enthält. Hier ist die Stacktrace:

at MS.Internal.XcpImports.CheckHResult(UInt32 hr) 
at MS.Internal.XcpImports.FrameworkElement_MeasureOverride(FrameworkElement element, Size availableSize) 
at System.Windows.FrameworkElement.MeasureOverride(Size availableSize) 
at System.Windows.FrameworkElement.MeasureOverride(IntPtr nativeTarget, Single inWidth, Single inHeight, Single& outWidth, Single& outHeight) 
at MS.Internal.XcpImports.MeasureNative(IntPtr element, Single inWidth, Single inHeight) 
at MS.Internal.XcpImports.UIElement_Measure(UIElement element, Size availableSize) 
at System.Windows.UIElement.Measure(Size availableSize) 
at Microsoft.Phone.Controls.Primitives.PanoramaPanel.MeasureOverride(Size availableSize) 
at System.Windows.FrameworkElement.MeasureOverride(IntPtr nativeTarget, Single inWidth, Single inHeight, Single& outWidth, Single& outHeight) 
at MS.Internal.XcpImports.MeasureOverrideNative(IntPtr element, Single inWidth, Single inHeight, Single& outWidth, Single& outHeight) 
at MS.Internal.XcpImports.FrameworkElement_MeasureOverride(FrameworkElement element, Size availableSize) 
at System.Windows.FrameworkElement.MeasureOverride(Size availableSize) 
at System.Windows.FrameworkElement.MeasureOverride(IntPtr nativeTarget, Single inWidth, Single inHeight, Single& outWidth, Single& outHeight) 
at MS.Internal.XcpImports.MeasureOverrideNative(IntPtr element, Single inWidth, Single inHeight, Single& outWidth, Single& outHeight) 
at MS.Internal.XcpImports.FrameworkElement_MeasureOverride(FrameworkElement element, Size availableSize) 
at System.Windows.FrameworkElement.MeasureOverride(Size availableSize) 
at Microsoft.Phone.Controls.Panorama.MeasureOverride(Size availableSize) 
at System.Windows.FrameworkElement.MeasureOverride(IntPtr nativeTarget, Single inWidth, Single inHeight, Single& outWidth, Single& outHeight) 
at MS.Internal.XcpImports.MeasureOverrideNative(IntPtr element, Single inWidth, Single inHeight, Single& outWidth, Single& outHeight) 
at MS.Internal.XcpImports.FrameworkElement_MeasureOverride(FrameworkElement element, Size availableSize) 
at System.Windows.FrameworkElement.MeasureOverride(Size availableSize) 
at System.Windows.FrameworkElement.MeasureOverride(IntPtr nativeTarget, Single inWidth, Single inHeight, Single& outWidth, Single& outHeight) 
at MS.Internal.XcpImports.MeasureOverrideNative(IntPtr element, Single inWidth, Single inHeight, Single& outWidth, Single& outHeight) 
at MS.Internal.XcpImports.FrameworkElement_MeasureOverride(FrameworkElement element, Size availableSize) 
at System.Windows.FrameworkElement.MeasureOverride(Size availableSize) 
at Microsoft.Phone.Controls.PhoneApplicationFrame.MeasureOverride(Size availableSize) 
at System.Windows.FrameworkElement.MeasureOverride(IntPtr nativeTarget, Single inWidth, Single inHeight, Single& outWidth, Single& outHeight) 

Die Debugging-Ausgabe enthält:

A first chance exception of type 'System.ArgumentNullException' occurred in mscorlib.dll (x10) 
A first chance exception of type 'System.NotImplementedException' occurred in System.Windows.dll (x6) 

Antwort

1

Ohw. Ich habe einen Benutzerfehler gefunden, indem ich Datenbindungen auf der XAML-Seite überprüft habe. Hier ist meine XAML:

<TextBlock Grid.Column="0" Text="{Binding Value}" 
      Style="PhoneTextLargeStyle" /> 
<TextBlock Grid.Column="1" Text="{Binding Key}" 
      Style="PhoneTextLargeStyle" /> 

schreibe ich vergessen, es ist eine statische Ressource:

<TextBlock Grid.Column="0" Text="{Binding Value}" 
      Style="{StaticResource PhoneTextLargeStyle}" /> 
<TextBlock Grid.Column="1" Text="{Binding Key}" 
      Style="{StaticResource PhoneTextLargeStyle}" /> 

Lassen Sie uns hoffen, dass diese dumme Frage/Auto-Antwort jemand helfen :)