如何在 Windows 8 应用程序中安排特定日期和时间的 toast 通知?

Posted

技术标签:

【中文标题】如何在 Windows 8 应用程序中安排特定日期和时间的 toast 通知?【英文标题】:How to schedule a toast notification for a specific date and time in windows 8 app? 【发布时间】:2015-05-22 06:08:24 【问题描述】:

我想为日历应用程序的 c# 中的 windows 应用程序安排特定日期和时间的 toast 通知,例如 2015 年 3 月 18 日下午 4:00。我制作了 3 个组合框(NewEventYear)等等。我正在尝试的是..

int x = int.Parse(NewEventYear.SelectedItem.ToString());

/* y & z for month and date respectively */

DateTime EventDate = new DateTime(x,y,z);

ScheduledToastNotification scheduledToast = new ScheduledToastNotification(toastXml, EventDate);

我遇到了一个错误

"FormatException 未被用户代码处理:输入字符串不在 格式正确”

指向

int x = int.Parse(NewEventYear.SelectedItem.ToString());

【问题讨论】:

NewEventYear.SelectedItem.ToString() 的确切值是多少,您的CurrentCulture 是什么?调试您的代码并告诉我们。 如果是 18/3/2015 4:00 PM 之类的,显然不是一个有效的整数。 您正在尝试将SelectedItem 转换为整数,这将返回完整的日期字符串,而不是年份。您需要先将 SelectedItem 转换为 DateTime(假设您的 ComboBox 列表中充满了 DateTime 对象),然后引用 Year 属性。 使用此代码获取文化 varculture = System.Globalization.CultureInfo.CurrentCulture;它从 Visual Studio 的设计视图返回“en-US”添加的组合框项目为“2015”。 如何将 SelecteItem 转换为 DateTime ? 【参考方案1】:

感谢您的帮助。通过编写此代码解决了我的问题。

int x = int.Parse(NewEventYear.SelectedItem.ToString());          
int y = int.Parse(NewEventMonth.SelectedItem.ToString());
int z = int.Parse(NewEventDate.SelectedItem.ToString());
int a = int.Parse(NewEventHour.SelectedItem.ToString());
int b = int.Parse(NewEventMinutes.SelectedItem.ToString()); 

DateTime EventDate = new DateTime(x,y,z,a,b,0)
TimeSpan NotTime = EventDate.Subtract(DateTime.Now);
DateTime dueTime = DateTime.Now.Add(NotTime);

ScheduledToastNotification scheduledToast = new ScheduledToastNotification(toastXml, dueTime);
ToastNotificationManager.CreateToastNotifier().AddToSchedule(scheduledToast);

【讨论】:

【参考方案2】:

你可以使用的是

ObservableCollection<DateTime> myDateTimeCollection = new ObservableCollection<DateTime>();
myDateTimeCollection.Add(DateTime.Now); // add more members

myComboBox.ItemsSource = myDateTimeCollection;

DateTime selectedDateTime = (DateTime)myComboBox.SelectedItem; //add this in myComboBox_SelectionChanged event

【讨论】:

以上是关于如何在 Windows 8 应用程序中安排特定日期和时间的 toast 通知?的主要内容,如果未能解决你的问题,请参考以下文章

在 php 中安排电子邮件

如何使用 PowerShell 在系统重新启动后延迟 10 分钟在 Windows 任务计划程序中安排任务?

如何在 SQL Developer 中安排作业

在 Windows Server 2008 R2 中安排任务

如何在詹金斯中安排多个配置文件?

在 iOS 10 中安排和处理本地通知