我有一个应用程序,我在启动时制作了多个 HttpRequests。在我尝试将大量 UI 处理转移到不同的类以尝试更像一个 MVVM 应用程序之前,它工作正常。现在,当我用数据加载页面时,我的应用程序崩溃/终止,无一例外。
这个终止的主要来源(我相信)是我为应用程序的 RootFrame 设置 ViewModel 的地方,以便我可以在我的 xaml 绑定中引用它的类。
(App.Current as App).RootFrame.DataContext = (App.Current as App).ViewModel;
没有这个,应用程序将启动,但我的数据都没有绑定到页面。我猜有一些异步 Http 调用正在更改 ViewModel,同时它试图将该 ViewModel 设置为 RootFrame 的数据上下文。我不确定这是否会导致这种终止,但我只是猜测。
我很确定这部分是导致错误的原因,因为在此之后应用程序刚刚关闭,输出如下:
'UI Task' (Managed): Loaded 'mscorlib.dll'
'UI Task' (Managed): Loaded 'System.Windows.RuntimeHost.dll'
'UI Task' (Managed): Loaded 'System.dll'
'UI Task' (Managed): Loaded 'System.Windows.dll'
'UI Task' (Managed): Loaded 'System.Net.dll'
'UI Task' (Managed): Loaded 'System.Core.dll'
'UI Task' (Managed): Loaded 'System.Xml.dll'
'UI Task' (Managed): Loaded '\Applications\Install\CCB2E631-D1D5-4AB0-B253-7B6CF6367D16\Install\ParkQuest.dll', Symbols loaded.
'UI Task' (Managed): Loaded 'Microsoft.Phone.dll'
'UI Task' (Managed): Loaded 'Microsoft.Phone.Interop.dll'
'UI Task' (Managed): Loaded 'Microsoft.Xna.Framework.dll'
'UI Task' (Managed): Loaded '\Applications\Install\CCB2E631-D1D5-4AB0-B253-7B6CF6367D16\Install\Facebook.dll'
'UI Task' (Managed): Loaded '\Applications\Install\CCB2E631-D1D5-4AB0-B253-7B6CF6367D16\Install\System.Windows.Interactivity.dll'
'UI Task' (Managed): Loaded '\Applications\Install\CCB2E631-D1D5-4AB0-B253-7B6CF6367D16\Install\Microsoft.Expression.Interactions.dll'
'UI Task' (Managed): Loaded 'System.Runtime.Serialization.dll'
'UI Task' (Managed): Loaded '\Applications\Install\CCB2E631-D1D5-4AB0-B253-7B6CF6367D16\Install\Microsoft.Phone.Controls.Toolkit.dll'
The thread '<No Name>' (0x1af811be) has exited with code 0 (0x0).
The thread '<No Name>' (0x1ada0ebe) has exited with code 0 (0x0).
The thread '<No Name>' (0x1a9c105a) has exited with code 0 (0x0).
The program '[457643138] UI Task: Managed' has exited with code 0 (0x0).
仅供参考,我的启动对象不是问题,因为我已经看到某些人是这样。
提前感谢您的有用建议,如果您认为我应该有更好的方法来实现我的数据绑定,请告诉我。
此外,如果您需要任何其他信息来帮助您回答此问题,请不要犹豫。