C# 操作无效创建辅助磁贴时出错

C# 操作无效创建辅助磁贴时出错,c#,windows-phone-8,windows-phone,C#,Windows Phone 8,Windows Phone,我想向起始页添加辅助磁贴,但在第二次尝试创建相同的磁贴时出现此错误: 由于对象的当前状态,操作无效 它在我第一次运行此代码时起作用,但是当该磁贴存在并且我再次运行此代码时,我得到了该错误 也许我需要检查此互动程序是否存在,但如何存在?您在这里遇到了一些问题,所以让我从需求开始 每个活动磁贴必须指向唯一的URI位置 每次创建辅助磁贴时,用户都会被带到主屏幕查看它 一次不能创建多个辅助磁贴。限制 允许的二次活动瓷砖数量 您遇到了错误,因为您正在使用重复的URI创建第二个磁贴 克服这一问题的一种

我想向起始页添加辅助磁贴,但在第二次尝试创建相同的磁贴时出现此错误:

由于对象的当前状态,操作无效

它在我第一次运行此代码时起作用,但是当该磁贴存在并且我再次运行此代码时,我得到了该错误


也许我需要检查此互动程序是否存在,但如何存在?

您在这里遇到了一些问题,所以让我从需求开始

  • 每个活动磁贴必须指向唯一的URI位置

  • 每次创建辅助磁贴时,用户都会被带到主屏幕查看它

  • 一次不能创建多个辅助磁贴。限制 允许的二次活动瓷砖数量
您遇到了错误,因为您正在使用重复的URI创建第二个磁贴

克服这一问题的一种方法是在URI中使用一个随机数作为参数。这不会影响导航,并应允许您拥有所需数量

下面是一个使用OnNavigatedTo事件重写的示例

应该发生的是,当你启动应用程序时,它将创建一个新的磁贴。只需单击该互动程序,它将导航回以创建新的互动程序

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);

}

您在这里遇到了一些问题,所以让我从需求开始

  • 每个活动磁贴必须指向唯一的URI位置

  • 每次创建辅助磁贴时,用户都会被带到主屏幕查看它

  • 一次不能创建多个辅助磁贴。限制 允许的二次活动瓷砖数量
您遇到了错误,因为您正在使用重复的URI创建第二个磁贴

克服这一问题的一种方法是在URI中使用一个随机数作为参数。这不会影响导航,并应允许您拥有所需数量

下面是一个使用OnNavigatedTo事件重写的示例

应该发生的是,当你启动应用程序时,它将创建一个新的磁贴。只需单击该互动程序,它将导航回以创建新的互动程序

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);

}