winrt磁贴更新错误C#

时间:2013-01-24 19:46:53

标签: c# windows-runtime

我正在尝试在磁贴上安排多条消息进行更新,但第二种方法tileTextAttributes[0].InnerText = Message;上的第4行不断抛出异常,说明错误的参数。你能帮我解决这个问题吗?

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)
    在
  c:\ Users \ ddds \ Documents \ Visual中的TestProj.MainPage.SetupTiles()   Studio 2012 \ Projects \ TestProj \ TestProj \ MainPage.xaml.cs:第398行

1 个答案:

答案 0 :(得分:0)

XML对我来说似乎很好,但是您正在安排通知片刻刚刚过去。在构造函数之前添加时间偏移量。

修改 看起来它比这更微妙,我想也许是因为各种时间功能如何相对于UTC工作。例如,

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

没问题,但没有:

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

我的blog post on Scheduled Notifications中有一些可能有用的信息。