如何创建SecondaryTile?

时间:2015-04-25 12:22:38

标签: c# xaml windows-phone-8.1

我创建了这个方法,以便在StartScreen中插入一个SecondaryTile,但是当我尝试检索保存文件的字符串并将其插入URI时,我得到一个异常

    private  async void AddStart_Click(object sender, RoutedEventArgs e)
    {
          StorageFile x= await ApplicationData.Current.LocalFolder.CreateFileAsync("Immagine.png", CreationCollisionOption.ReplaceExisting);

//muss.Immagine is a web url
          Uri uri = new Uri(muss.Immagine, UriKind.RelativeOrAbsolute);
          BackgroundDownloader downloader = new BackgroundDownloader();
          DownloadOperation download = downloader.CreateDownload(uri, x);
          await download.StartAsync();

          string uriString = ApplicationData.Current.LocalFolder.GetFileAsync("Immagine.png").ToString();
          Uri newww = new Uri(uriString);
          SecondaryTile tile = new SecondaryTile("OpenArte", "Open ARTe of Italy", "Open ARTe of Italy", "15", TileOptions.ShowNameOnLogo, newww);
          await tile.RequestCreateAsync();    
    }

当我创建Uri“newww”时,我得到一个例外。  这是例外:

  

发生了'System.UriFormatException'类型的第一次机会异常   在SYSTEM.NI.DLL

中      

其他信息:无效的URI:URI的格式不能   确定。

1 个答案:

答案 0 :(得分:0)

...LocalFolder.GetFileAsync("Immagine.png").ToString();将始终返回与"...IAsyncOperation<StorageFile>"类似的相同结果,因为默认情况下ToString会返回类型名称(结果的类型为IAsyncOperation<StorageFile>)。

我不确定您要实现的目标,但您可能需要阅读StorageFile的内容。此外,您需要await函数的结果才能真正获得StorageFile对象 - How to get a file using WinRT?get specified line from text using readline method