Live Tile - UWP(Windows 10) - 源图像中的Url无法正常工作

时间:2016-03-31 15:33:04

标签: c# url win-universal-app live-tile

我尝试将url放在我的LiveTyle模板的XML图像源中,但某些网址无法正常工作。我通过Microsoft测试了应用程序通知可视化工具并且无法正常工作,但是将链接放在浏览器中会返回图像。 不知道是什么问题?

链接在模板中无效:

编码 http%3A%2F%2Fproxycache.app.iptv.telecom.pt%3A8080%2FMeoHandler%2FImageProxy.ashx%3Fwidth%3D200%26url%3D1 %2F5%2F55046d06-98e0-4aa3-be7d-f6996152b8ad_c_anatomia-16x9.jpg

解码: http://myimages.com/today/hello?width=200&url=9_c_xpto-16x9.jpg

两者都不起作用:(

提取模板:

string localImageURL = "ms-appx:///Assets/MyImage70x70.png"; 

XmlDocument _myXML = new XmlDocument(); 

string PeekSlide=
                      @"<tile>
                       <visual>
                      <binding template=""TileMedium"" branding=""name"">
                       <image src=""{0}""  placement=""peek"" hint-overlay=""20""/>
                      <image  src=""{1}"" placement=""background""/>
                      </binding>
                      </binding>
                      </visual>
                      </tile>";

    var _myTile = string.Format(PeekSlide, localImageURL, myWebUrl);
    _myXML.LoadXml(_myTile);

提前致谢!

2 个答案:

答案 0 :(得分:1)

这是因为您的ImageURL包含&,其在XML中具有特定含义。因此XML无法分析您的图像Url。将&替换为&amp;代替。细节参考Entity References部分。更换后,您的图片网址应为

 <image src="http://myimages.com/today/hello?width=200&amp;url=9_c_xpto-16x9.jpg"/>

答案 1 :(得分:-1)

字段'_myTile'的内容将是一个XML,其中包含资产上图像的路径,而不是来自Web。

为什么你不试试这个:

string localImageURL = "http://proxycache.app.iptv.telecom.pt:8080/MeoHandler/ImageProxy.ashx?width=200&url=1/5/55046d06-98e0-4aa3-be7d-f6996152b8ad_c_anatomia-16x9.jpg"; 

XmlDocument _myXML = new XmlDocument(); 

string PeekSlide=
                      @"<tile>
                       <visual>
                      <binding template=""TileMedium"" branding=""name"">
                       <image src=""{0}""  placement=""peek"" hint-overlay=""20""/>
                      <image  src=""{1}"" placement=""background""/>
                      </binding>
                      </binding>
                      </visual>
                      </tile>";

var _myTile = string.Format(PeekSlide, localImageURL);
_myXML.LoadXml(_myTile);

HTH,

托马斯