c# – Windows Phone Universal应用程序在导航时抛出AccessViolation
作者:互联网
我正在开发Windows Phone 8.1 Universal应用程序并遇到以下问题.
该应用程序有许多视图及其相应的Caliburn.Micro ViewModel,其中两个包含一个MapControl,其引脚绑定到一个Observable MapLocation对象集合.
MapLocation类具有以下内容:
public class MapLocation : PropertyChangedBase
{
private string _title;
public string Title
{
get { return _title; }
set
{
_title = value;
NotifyOfPropertyChange();
}
}
private Geopoint _geoPoint;
public Geopoint GeoPoint
{
get { return _geoPoint; }
set
{
_geoPoint = value;
NotifyOfPropertyChange();
}
}
private Uri _imageUri;
public Uri ImageUri
{
get { return _imageUri; }
set
{
_imageUri = value;
NotifyOfPropertyChange();
}
}
private bool _isMoving;
public bool IsMoving
{
get { return _isMoving; }
set
{
_isMoving = value;
NotifyOfPropertyChange();
}
}
private Windows.Services.Maps.MapAddress _address;
public Windows.Services.Maps.MapAddress Address
{
get { return _address; }
set
{
_address = value;
NotifyOfPropertyChange();
}
}
}
该列表经常通过DispatcherTimer更新,以显示所有项目的更新位置.
我面临的问题是,每次访问页面后,每次访问它至少一次,我得到一个AccessViolation异常,应用程序崩溃.
我猜这可能与我的ViewModel的某种兑现有关.
以前有人见过这种行为吗?
解决方法:
它是一个已知的bug.好像他们正在修理它.
https://social.msdn.microsoft.com/forums/windowsapps/en-us/fde433e8-87f8-4005-ac81-01b12e016986/debugging-access-violation-exceptions
只需在导航前给出延迟
等待Task.Delay(50); //避免访问冲突异常
// Naviagte
我希望这会解决你暂时的目的.
标签:c,xaml,win-universal-app,caliburn-micro 来源: https://codeday.me/bug/20190628/1316928.html