【发布时间】:2016-11-20 09:15:05
【问题描述】:
我的应用需要一个内部日历。我可以像这样创建一个新日历:
var store = await AppointmentManager.RequestStoreAsync(AppointmentStoreAccessType.AppCalendarsReadWrite);
var cacheCalendar = await store.CreateAppointmentCalendarAsync("unique name here");
这成功了,我得到了一个新日历。但是这个日历在手机的内置日历应用程序中是可见的。 我不希望此日历可见,因为它用于内部簿记。
所以我尝试像这样隐藏日历:
var store = await AppointmentManager.RequestStoreAsync(AppointmentStoreAccessType.AppCalendarsReadWrite);
var cacheCalendar = await store.CreateAppointmentCalendarAsync("unique name here");
cacheCalendar.IsHidden = true; // <---- make calendar hidden
await cacheCalendar.SaveAsync(); // <---- save; error here
调用SaveAsync时出现以下异常:
访问被拒绝。 (来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))"
为什么我不能在内置手机日历应用程序中隐藏我的日历?这是一个未记录的限制吗?还有其他方法吗?
(注意:我在 Windows 10 Mobile 和桌面 Win 10 上对此进行了测试——同样的错误。)
编辑/添加:由于 Anthony 发现 IsHidden 属性在 MSDN 中被记录为只读,这里是来自 Visual Studio 的屏幕截图,显示了公共设置器(这使得它可以编译、运行并且看起来合法调用):
(该应用针对 Win 10 Build 10586 - 也许它是新的,但未完成?)
【问题讨论】:
-
您好 Heinrich,感谢您报告此问题,您确实不应该设置 IsHidden。我已将此上报给 Microsoft,他们已在内部提交了 BR,该 BR 链接到此 UV 项目 wpdev.uservoice.com/forums/110705-universal-windows-platform/…。
-
@Lance 没问题,非常感谢。虽然 API 出卖了我,但我很伤心。
-
能否确认您使用的是 106586 SDK 还是 14393 Preview SDK?似乎有一个可供您使用的选项,一旦我得到团队的确认,我将分享。
-
@Lance 我的通用 Windows SDK 在 Visual Studio 中的标识是:
UAP,Version=10.0.10586.0 -
我没有听到有关 IsHidden 问题的任何更新,但他们确实有我的 repo 应用程序并且正在查看它。我会尽快通知你。
标签: windows-10 uwp windows-10-universal windows-10-mobile uwp-xaml