C# ShellTile.Create with FlipTileData抛出InvalidOperationException?

C# ShellTile.Create with FlipTileData抛出InvalidOperationException?,c#,windows-phone-8,live-tile,C#,Windows Phone 8,Live Tile,我正在尝试在Windows Phone 8中使用FlipTileData创建互动程序。我使用以下代码: const string mainPage = "/MainPage.xaml"; ... Uri mp = new Uri(mainPage + "?" + "tileid=" + tileId, UriKind.Relative); FlipTileData tileData = new FlipTileData();

我正在尝试在Windows Phone 8中使用FlipTileData创建互动程序。我使用以下代码:

        const string mainPage = "/MainPage.xaml";

        ...

        Uri mp = new Uri(mainPage + "?" + "tileid=" + tileId, UriKind.Relative);
        FlipTileData tileData = new FlipTileData();
        tileData.Title = tileTitle;
        tileData.BackgroundImage = new Uri("isostore:" + isourl);
        tileData.SmallBackgroundImage = new Uri("isostore:" + isourl);
        tileData.WideBackgroundImage = new Uri("isostore:" + isourl);
        ShellTile.Create(mp, tileData);
这会在ShellTile.Create方法上引发InvalidOperationException。没有其他具有相同导航URI的磁贴。我做错了什么

此代码使用StandardTileData类工作正常,不包括SmallBackgroundImage和WideBackgroundImage属性

如有必要,完整代码为:

    const string mainPage = "/MainPage.xaml";

    ...

    private void createbutton_Click(object sender, RoutedEventArgs e)
    {
        string tileId = new Random().Next().ToString();
        Uri mp = new Uri(mainPage + "?" + "tileid=" + tileId, UriKind.Relative);
        WriteableBitmap wbmp = new WriteableBitmap(tileGrid, null);

        string isourl = "/Shared/ShellContent/" + tileId + ".jpg";
        IsolatedStorageFileStream isfs = IsolatedStorageFile.GetUserStoreForApplication().CreateFile(isourl);
        wbmp.SaveJpeg(isfs, 173, 173, 0, 100);
        isfs.Close();

        FlipTileData tileData = new FlipTileData();
        tileData.Title = tileTitle;
        tileData.BackgroundImage = new Uri("isostore:" + isourl);
        tileData.SmallBackgroundImage = new Uri("isostore:" + isourl);
        tileData.WideBackgroundImage = new Uri("isostore:" + isourl);
        ShellTile.Create(mp, tileData);
    }

是否在结束处理程序中调用此代码

在Windows Phone 8中,在关闭处理程序中使用Create(Uri,ShellTileData)方法创建互动程序将引发InvalidOperationException


编辑:我想不会,因为您说过它与StandardTileData一起工作…

如果使用新的平铺模板,您需要使用包含第三个参数的
ShellTile.Create()
重载

这应该可以做到:

ShellTile.Create(mp, tileData, true);

我正在一个点击按钮的处理程序中创建它。
mainPage
字符串包含什么?编辑代码以包含此内容谢谢,这很有效。对不起,我花了这么长时间,我没有在需要这个的项目上工作。