4

ShellTile.Createメソッドを使用してセカンダリタイルを作成しています。私が開発したアプリのユーザーは、ピン留めしているエンティティの名前が「@」で始まる場合(タイルのタイトルに使用される)、電話で表示されるタイトルは「 @ \ Applications\"...。

電話は名前の先頭にある「@」をなんらかの形で特別なものとして扱い、パスに置き換えているように見えます...

ここでは、ShellTileData.Titleを「@Test」に設定しています。これが固定されるものです:

奇妙な名前の固定されたタイルを示すスクリーンショット

タイトルをUrlEncodingしてみましたが、運が悪かったです。

誰かがこれに遭遇したことがありますか?既知の問題ですか?

ダミアン

私は以下のコリンの答えを受け入れました。これは、彼の提案に基づいて現在使用しているコードです。

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

3 に答える 3

1

私のコメントによると...\uFF20やってみてください、@と@の違いに誰もが気付くとは思えません。

于 2012-02-13T14:50:38.973 に答える
1

MicrosoftのEricFleckがここで応答しました: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 に答える
0

皆さんが「コード」について話している間、私が知っているのは、平均的なEUで「shift+2」と入力して提供される「@」記号だけです。これは非常に一般的です。これは、GTDの「GettingThings Done」の実践であり、何年も前から存在しています。したがって、平均的な開発者/コーダーが考えるよりも一般的かもしれません。

それまでの間、このダミアンを調べてくれてありがとう。

于 2012-02-15T03:14:13.840 に答える