基本上,我正在尝试制作一个UWP应用程序,以在开始菜单上创建自定义图块。当瓷砖图像来自Assets文件夹时,次级工具正在工作。
Uri square150x150Logo = new Uri("ms-appx:///Assets/square150x150Tile-sdk.png");
Uri wide310x150Logo = new Uri("ms-appx:///Assets/wide310x150Tile-sdk.png");
Uri square310x310Logo = new Uri("ms-appx:///Assets/square310x310Tile-sdk.png");
Uri square30x30Logo = new Uri("ms-appx:///Assets/square30x30Tile-sdk.png");
但是我在ApplicationData文件夹中有图像,并尝试使用这样的路径:
Uri square150x150Logo = new Uri(Path.Combine(ApplicationData.Current.TemporaryFolder.Path, "ImageSquare.png"));
Uri wide310x150Logo = new Uri(Path.Combine(ApplicationData.Current.TemporaryFolder.Path, "ImageWide.png"));
Uri square310x310Logo = new Uri(Path.Combine(ApplicationData.Current.TemporaryFolder.Path, "ImageLarge.png"));
Uri square30x30Logo = new Uri(Path.Combine(ApplicationData.Current.TemporaryFolder.Path, "ImageTiny.png"));
但是,这样的应用程序正在崩溃。调试器也无法正常工作。有什么解决方案?
要引用应用程序数据文件,您应该使用ms-appdata:///
。
调用TemporaryFolder.Path
将返回绝对文件路径C:
,该路径不允许在辅助图块上使用。
,您的更新代码将是...
Uri square150x150Logo = new Uri("ms-appdata:///temp/ImageSquare.png"));
确定终于弄清楚了。除了安德鲁的答案外,我还必须更改为使用LocalState
文件夹而不是TempState
。Andrew以正确的方式使用ms-appdata
,但由于某种原因,ms-appdata:///temp/
返回错误。但是使用ms-appdata:///Local/
解决了问题。