4

我正在使用ShellTile.Create方法来创建辅助磁贴。我开发的应用程序的用户已经注意到,如果他们固定的实体的名称以“@”开头(然后用于磁贴的标题),那么手机显示的标题就是“ @\应用程序\" ....

在我看来,手机似乎以某种方式将名称开头的“@”视为特殊,并将其替换为路径......

在这里,我将ShellTileData .Title 设置为“@Test”。这是固定的:

显示带有奇怪名称的固定磁贴的屏幕截图

我试过 UrlEncoding 标题 - 没有运气。

有没有人遇到过这个?这是一个已知问题吗?

达米安

我在下面接受了科林的回答。这是我现在根据他的建议使用的代码:

...
if(initialData.Title.StartsWith("@")) {
    initialData.Title = '\uff20' + initialData.Title.Substring(1);
}
ShellTile.Create(uri, initialData);
4

3 回答 3

1

来自微软的 Eric Fleck 在这里回复:http ://forums.create.msdn.com/forums/p/100059/598687.aspx#598687

在 Peter Torr 的博客上的“提防 '@' 标志”下提到了这个问题:http: //blogs.msdn.com/b/ptorr/archive/2011/07/12/background-agents-part -3-of-3.aspx

Peter 建议在以 @ 开头的磁贴名称的开头添加一个零宽度空间 unicode 字符 (8203)。

于 2012-02-27T21:06:05.600 回答
1

根据我的评论......试一试\uFF20,我怀疑有人会注意到@和@之间的区别。

于 2012-02-13T14:50:38.973 回答
0

好吧,当你们谈论“代码”时,我所知道的只是普通欧盟通过键入“shift+2”提供的“@”符号,这是非常常见的。这是一种 GTD“把事情做好”的做法,已经存在了很多年。所以它可能比普通的开发人员/编码人员想象的更普遍。

同时,感谢您调查此 Damian。

于 2012-02-15T03:14:13.840 回答