实验的要求是基于WP8.1 Windows8.1和WPF三个平台来实现一个简单的备忘事件管理。
本次博客就记录一些实验过程中的一些体验结果
1.Microsoft.Phone.dll的引用
如果希望为你的备忘录添加闹钟提醒,需要调用手机自带的闹钟应用功能。
通过查阅网上的资料。查阅到一些博客里面提到,在Windows Phone8 中,可以通过using Microsoft.Phone.Scheduler;
使用其中的Alarm类来方便的添加闹钟
1 Alarm alarm = new Alarm(name); 2 alarm.Content = message; 3 alarm.Sound = sound; 4 alarm.BeginTime = beginTime; 5 alarm.ExpirationTime = stopTime; 6 alarm.RecurrenceType = recurrence; 7 ScheduledActionService.Add(alarm);
设置闹钟的代码如上。
于是,我为自己的WP8.1工程添加了这个动态链接库
右键单击引用——添加引用——选择左侧浏览——浏览——C:Program Files (x86)Reference AssembliesMicrosoftFrameworkWindowsPhonev8.1路径里面找到Microsoft.Phone.dll 确定
成功后,引用里面就成功多了这个链接库
并添加using Microsoft.Phone.Scheduler;
下面,正当你觉得一切已经完美了的时候。。。问题出现了:
在网上许多地方都查不到问题在哪里。最后通过MSDN上的一个帖子,找到了问题所在。
参考网址:https://social.msdn.microsoft.com/Forums/en-US/68b50bbb-3296-46be-a85f-669caecedd19/wp81-no-alarms-reminders-whats-the-alternative?forum=wpdevelop
这里解释说到:
WP8.1里面闹钟和提醒的功能不再向第三方开发者提供,也就是说无法在自己的应用里面使用。而解决的方法只有继续开发维护WP8的应用,或是使用WP Silverlight 8.1.
但这样的话,在WP8.1中许多方便的控件就不能够使用了(即使你添加了toolkit包,也只是一小部分)。所以只能做了取舍。
<如果各位大神有两全其美的方法,跪求赐教!!>
2.WPF平台的跳转
在WPF中,跳转分为页面间跳转,窗口与页面间跳转,窗口间跳转。页面间跳转可以实现回退、前进等功能,个人认为更加友好一些。
1 private void Add_Tile_Click(object sender, RoutedEventArgs e) 2 { 3 NavigationService.GetNavigationService(this).Navigate(new Uri("AddEvent.xaml", UriKind.Relative)); 4 //Uri里面填写目的页面的名字,切记要加.xaml,后面表示uri为相对uri 5 }
另外两个前后跳转
1 NavigationService.GetNavigationService(this).GoForward();//向后转 2 3 NavigationService.GetNavigationService(this).GoBack(); //向前转