0

文档ContactPicker.PickSingleContactAsyncContactPicker.PickMultipleContactsAsync声明它们“可能”在 Windows 8.1 或 Windows Phone 8.1 之后不受支持

并且支持他们不是。不仅已弃用而且已过时,支持旧方法ContactPicker.PickContactAsyncContactPicker.PickContactsAsync在 Windows 10 下抛出未实现的异常。

在回答了关于 Stack Overflow 的最后一个问题之后,我阅读了PickContactsAsync 的 Windows 10 文档页面,并下载了该页面末尾引用的示例。在 Win10 下运行该示例,我发现:

  • ContactPicker.PickContactAsync允许按预期只选择一个联系人。
  • ContactPicker.PickContactsAsync有效,但只允许选择一个联系人,这与样本提出的期望相反。

错误的行为是否ContactPicker.PickContactsAsync即将得到纠正,是由于 Windows 10 上的油漆仍在干燥而导致的简单故障,还是某些天才决定停止支持多选联系人?

我可以编写一个循环,以便用户可以连续选择它们——我在短期内看不到任何其他选项——但这是一种糟糕的用户体验。如果有一些我需要设置的设置或选项可以神奇地解决问题,我很想听听。


支持信息以获得以下良好答案

这是选择器启动时的样子。 无图标栏

应用栏在哪里?它没有显示。如果您单击或点击某个联系人,则会将其选中并且选择器会关闭。只有当您单击“选择联系人”时它才会出现,如下所示:

图标栏

如果然后单击带有刻度的列表字形,UI 会突然变为:

多选最后

一旦你知道如何做到这一点,这很容易,而且很难发现。这无疑是被称为 Windows 8 的 haptomanic 阵发性的残余。

其他损失包括曾经允许在鼠标/键盘环境中进行范围和多选的 Shift 和 Ctrl 键。这些行为是由 Common Dialogs 使用的 Windows ListBox 实现的。大概新的 UI 不使用 ListBox。

对微软的一些不请自来的建议

免费升级到 Windows 10 的全部意义在于将其固定在家中,因为这实现了两件事。

  • 在家里习惯 Windows 的人会希望在工作场所使用它。
  • 它灌输了年轻人。你不能把他们单独留在苹果公司。这简直令人毛骨悚然。

像这里考虑的那样的用户体验灾难会破坏你的好工作。联系人选择器是新的通用对话框。它影响着一切尽管应用程序开发人员很愚蠢,但这是您最能产生良好用户体验的地方。

这是我认为你应该做的:当通过 PickContactsAsync 调用联系人选择器时,已经在多选模式下打开它。

还有一件事

虽然我在倾倒微软,但示例中也存在一个错误。在Scenario2_PickContacts.xaml.cs这一行

if (this.contacts.Count > 0)

应该读

if (this.contacts != null && this.contacts.Count > 0)

因为如果您不选择任何东西,this.contacts则为 null 并且会出错。

4

1 回答 1

0

PickContactsAsync可以选择多个联系人,但它的 UI 有点隐藏。您需要单击应用栏中的“选择”按钮。(看起来像一个带有复选框的列表。)

于 2015-08-27T08:18:52.057 回答