gpt4 book ai didi

c# - 创建辅助磁贴时出现操作无效错误

转载 作者:太空宇宙 更新时间:2023-11-03 21:38:06 26 4
gpt4 key购买 nike

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

Operation is not valid due to the current state of the object.

IconicTileData iconicTile = new IconicTileData
{
Title = "second page",
IconImage = uri,
};

ShellTile.Create(new Uri("/SecondPage.xaml", UriKind.Relative),iconicTile,false);

它在我第一次运行这段代码时有效,但是当磁贴存在并且我再次运行这段代码时,我得到了那个错误。

也许我需要检查这个磁贴是否存在,但是如何呢?

最佳答案

你在这里遇到了几个问题所以让我从需求开始

(as outlined in this near duplicate question)

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

  • 每次您创建辅助磁贴时,用户都会被带到他们的主屏幕进行查看。

  • 一次不能创建多个次要图 block 。限制允许的辅助动态磁贴数量。

您遇到错误是因为您正在创建具有重复 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);

}

关于c# - 创建辅助磁贴时出现操作无效错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20732567/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com