1

コードごとに正方形タイルと幅広タイルの両方を一度に更新するにはどうすればよいですか? または、スタート画面に「ロード」されているタイルの種類をどのように判断できますか?

私はこのコードを持っています:

private void JamesBond()
{
        var tileXML = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquare150x150Text01);
        var tileText = tileXML.GetElementsByTagName("text");
        (tileText[0] as XmlElement).InnerText = "First text";
        (tileText[1] as XmlElement).InnerText = "Second text";
        (tileText[2] as XmlElement).InnerText = "Third text";
        (tileText[3] as XmlElement).InnerText = "Last text";
        var tileNotification = new TileNotification(tileXML);

        var tileXMLw = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWide310x150Text01);
        var tileTextw = tileXMLw.GetElementsByTagName("text");
        (tileTextw[0] as XmlElement).InnerText = "Wide First text";
        (tileTextw[1] as XmlElement).InnerText = "Wide Second text";
        (tileTextw[2] as XmlElement).InnerText = "Wide Third text";
        (tileTextw[3] as XmlElement).InnerText = "Wide Last text";
        var tileNotificationW = new TileNotification(tileXMLw);

        TileUpdateManager.CreateTileUpdaterForApplication().Clear();
        TileUpdateManager.CreateTileUpdaterForApplication().Update(tileNotification);
        TileUpdateManager.CreateTileUpdaterForApplication().Update(tileNotificationW);
    }
}

...そして、ワイド タイルを更新します。でも、四角いタイルだと更新される……ときどき。そして、ほとんどの場合、それは空です。だから、どういうわけかそれは動作します。しかし、そうではありません....

誰でもここで私を助けることができますか?

PS: また、TileUpdater インスタンスを取得して、すべて同じインスタンスで実行しようとしました..さらに悪いことに、幅の広いタイルしか表示されません...

前もって感謝します。

よろしく、 ben0bi

4

1 に答える 1

1

解決しました。MSDN によると、2 つの xml をマージして、同じ "visual" タグの下に表示されるようにする必要があります。

私はこのようにしました:

        string xml="<tile>\n";
        xml += "<visual version=\"2\">\n";
        xml += "  <binding template=\"TileSquare150x150Text01\" fallback=\"TileSquareText01\">\n";
        xml += "      <text id=\"1\">Row 0</text>\n";
        xml += "      <text id=\"2\">Row 1</text>\n";
        xml += "      <text id=\"3\">Row 2</text>\n";
        xml += "      <text id=\"4\">Row 3</text>\n";
        xml += "  </binding>\n";
        xml += "  <binding template=\"TileWide310x150Text01\" fallback=\"TileWideText01\">\n";
        xml += "      <text id=\"1\">Wide Row 0</text>\n";
        xml += "      <text id=\"2\">Wide Row 1</text>\n";
        xml += "      <text id=\"3\">Wide Row 2</text>\n";
        xml += "      <text id=\"4\">Wide Row 3</text>\n";
        xml += "  </binding>\n";
        xml+="</visual>\n";
        xml +="</tile>";
        XmlDocument txml = new XmlDocument();
        txml.LoadXml(xml);
        TileNotification tNotification = new TileNotification(txml);

        TileUpdateManager.CreateTileUpdaterForApplication().Clear();
        TileUpdateManager.CreateTileUpdaterForApplication().Update(tNotification);
于 2015-02-11T22:18:53.920 に答える