我想在起始页上添加一个辅助磁贴,但是当我第二次尝试创建相同的磁贴时出现此错误:
由于对象的当前状态,操作无效。
IconicTileData iconicTile = new IconicTileData
{
Title = "second page",
IconImage = uri,
};
ShellTile.Create(new Uri("/SecondPage.xaml", UriKind.Relative),iconicTile,false);
它第一次运行此代码有效,但是当磁贴存在并且再次运行此代码时,我得到该错误。
也许我需要检查此图块是否存在,但是如何?
您在这里遇到了几个问题,所以让我从需求开始
每个活动图块必须指向唯一的URI位置。
每次创建辅助磁贴时,都会将用户带到主屏幕进行查看。
您正在遇到错误,因为您正在创建另一个具有重复URI的图块。
解决此问题的一种方法可能是在URI中使用一个随机数作为参数。这不会影响导航,应该允许您拥有任意数量的导航。
这是使用OnNavigatedTo事件的Override的示例。
应该发生的是,当您启动应用程序时,它将创建一个新的图块。只需单击该图块,它将向后导航以创建一个新图块。
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
IconicTileData iconicTile = new IconicTileData()
{
Title = "second page",
};
ShellTile.Create(new Uri("/MainPage.xaml?ran=" + (new Random().Next()).ToString(), UriKind.Relative), iconicTile, false);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句