UWP Toast 通知 - XML 有效,AdaptiveText 无效(Windows 10,Visual Studio 2017)

UWP Toast Notifications - XML works, AdaptiveText does not (Windows 10, Visual Studio 2017)

我在后台任务中将 Toasts 设置为 运行。如果我为 toast 定义 XML "old" 方式,一切正常。这是相关代码:

var template = ToastTemplateType.ToastText02;
var xml = ToastNotificationManager.GetTemplateContent(template);
var elements = xml.GetElementsByTagName("text");
var text = xml.CreateTextNode(model.Title);
elements[0].AppendChild(text);
var toast = new ToastNotification(xml);
ToastNotificationManager.CreateToastNotifier("My App").Show(toast);

如果我尝试使用 AdaptiveText 版本,它不会 运行。事件查看器日志表明已成功发送 toast 消息(就像处理第一条消息一样),但没有出现 toast。这是代码(我 copy/pasted 直接来自 microsoft.com 上的教程):

var content = new ToastContent()
{
    Launch = "app-defined-string",

    Visual = new ToastVisual()
    {
        BindingGeneric = new ToastBindingGeneric()
        {
            Children =
            {
                new AdaptiveText()   
                { 
                    Text = "Photo Share" 
                },

                new AdaptiveText()
                {
                    Text = "Andrew sent you a picture"
                },

                new AdaptiveText()
                {
                    Text = "See it in full size!"
                },

                new AdaptiveImage()
                {
                    Source = "https://unsplash.it/360/180?image=1043"
                }
            },

            AppLogoOverride = new ToastGenericAppLogo()
            {
                Source = "https://unsplash.it/64?image=883",
                HintCrop = ToastGenericAppLogoCrop.Circle
            }
        }
    }
};

var toast = new Windows.UI.Notifications.ToastNotification(content.GetXml())
{
    ExpirationTime = DateTime.Now.AddDays(model.Expiration)
};
toast.Failed += (o, args) =>
{
    var message = args.ErrorCode;
};

Windows.UI.Notifications.ToastNotificationManager.CreateToastNotifier("My App").Show(toast);

我有 OS Build 15063——与我的应用程序目标相同。我有一个发生这种情况的模板 10 项目,所以我尝试创建一个新的非模板 10 项目,但问题仍然存在。我也尝试过使用 NuGet 的 NotificationExtensions.10 库,或者 Windows.UI.Notifications/Microsoft.Toolkit.Uwp.Notifications;两者都没有区别。

原来是ExpirationTime = DateTime.Now.AddDays(model.Expiration)出了问题。它正在被喂食 0,结果 Toast 在发送的那一刻就过期了,从不显示。