我导航到一个新页面,在该页面上,我在页面加载事件上设置了DataContext
。
public MyPage()
{
this.InitializeComponent();
this.Loaded += MyPage_Loaded;
}
void MyPage_Loaded(object sender, RoutedEventArgs e)
{
this.DataContext= myModel;
}
在设置数据上下文时,很多时候我得到System.AccessViolation
异常并且应用程序退出。
可能是什么问题?
修改
我试过了
1)将NavigationCacheMode
设为Disabled
2)将页面设为基本页面,即删除继承自LayoutAwarePage
我仍然得到那个例外
答案 0 :(得分:0)
您必须确保UI绑定的数据仅由UI线程更改。你可以像
这样的东西 public static async Task RunOnUIThread(DispatchedHandler action)
{
await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, action);
}