0

タイルの更新のためにいくつかのメッセージをスケジュールしようとしていますが、2番目のメソッドの4行目は、 tileTextAttributes[0].InnerText = Message;誤ったパラメーターを示す例外をスローし続けます。問題を解決するのを手伝ってもらえますか?

private void SetupTiles()
{
    try
    {
        DateTimeOffset time = DateTime.Now;

        for (int i = 0; i < messages.Count; i++)
        {
            Windows.UI.Notifications.ScheduledTileNotification stf = new ScheduledTileNotification(GetTile(messages[i]), time);
            time.Add(new TimeSpan(0, 0, 0, 30, 0));
            TileUpdateManager.CreateTileUpdaterForApplication().AddToSchedule(stf);
        }
    }
    catch (Exception ex)
    {
        new Windows.UI.Popups.MessageDialog(ex.Message).ShowAsync();
    }
}

XmlDocument  GetTile(string Message)
{
    XmlDocument tileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWideText05);
   string t = tileXml.ToString();

    XmlNodeList tileTextAttributes = tileXml.GetElementsByTagName("text");
    tileTextAttributes[0].InnerText = Message;

    XmlDocument squareTileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquareText04);

    XmlNodeList squareTileTextAttributes = squareTileXml.GetElementsByTagName("text");
    squareTileTextAttributes[0].AppendChild(squareTileXml.CreateTextNode(Message));

    IXmlNode node = tileXml.ImportNode(squareTileXml.GetElementsByTagName("binding").Item(0), true);
    tileXml.GetElementsByTagName("visual").Item(0).AppendChild(node);

    return tileXml;
}

編集

System.ArgumentException:パラメーターが正しくありません。


Windows.UI.Notifications.ScheduledTileNotification..ctor(XmlDocument content、DateTimeOffset deliveryTime)
at TestProj.MainPage.SetupTiles
()in c:\ Users \ ddds \ Documents \ Visual Studio 2012 \ Projects \ TestProj \ TestProj\MainPage.xaml。 cs:398行

4

1 に答える 1

0

XML は私には問題ないように見えますが、過ぎたばかりの瞬間に通知をスケジュールしています。コンストラクターの前に時間オフセットを追加します。

編集 それよりも少し微妙なように見えますが、おそらくUTCに対してさまざまな時間関数がどのように機能するかが原因だと思います。例えば、

DateTimeOffset time = DateTime.Now.AddMinutes(3);

大丈夫ですが、そうではありません:

DateTimeOffset time = DateTime.Now;
time = time.Add(new TimeSpan(0, 0, 3, 0, 0));

スケジュールされた通知に関するブログ投稿に役立つ情報がいくつかあります。

于 2013-01-24T20:28:41.333 に答える