首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换ContactPicker.PickMultipleContactsAsync

替换ContactPicker.PickMultipleContactsAsync
EN

Stack Overflow用户
提问于 2015-08-09 09:34:23
回答 1查看 159关注 0票数 0

ContactPicker.PickSingleContactAsyncContactPicker.PickMultipleContactsAsync的文档指出,它们“可能”不支持后Windows8.1或Windows 8.1

并且支持他们不是。不仅过时了,而且已经过时了,取而代之的是ContactPicker.PickContactAsyncContactPicker.PickContactsAsync,旧的方法在Windows 10下抛出一个未实现的异常。

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

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

ContactPicker.PickContactsAsync的行为是一个很快就要被纠正的错误,一个简单的故障,因为油漆还在Windows 10上干燥,还是某个天才决定停止对多种联系人选择的支持?

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

下面提供支持信息以获得好的答案

这就是选择器在启动时的样子。

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

如果然后单击有滴答字形的列表,则UI突然更改为:

一旦你知道了,这是很容易的,也是很难发现的。这无疑是被称为Windows 8的突发性突发性事件的残余。

其他伤亡包括在鼠标/键盘环境中允许范围和多选择的Shift和Ctrl键。这些行为是由Windows ListBox实现的,公共对话框使用它。假设新的UI不使用ListBox。

微软的一些主动建议

免费升级Windows 10的全部目的是将其锚定在家中,因为这实现了两件事。

  • 习惯于在家里使用Windows的人会想在工作场所使用Windows。
  • 它灌输给年轻人。你不能把他们一个人丢给苹果。这太吓人了。

像这里考虑的那样的UX灾难会毁掉你的好工作。联系人选择器是新的公共对话框。它会影响到一切。在这里,尽管应用程序开发人员的愚蠢之处,你仍然可以最大限度地利用一个好的用户体验。

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

还有另一件事

当我抛弃微软的时候,样本中也有一个错误。在Scenario2_PickContacts.xaml.cs中,这一行

代码语言:javascript
复制
if (this.contacts.Count > 0)

应改为

代码语言:javascript
复制
if (this.contacts != null && this.contacts.Count > 0)

因为如果您不选择任何东西,那么this.contacts是空的,并且它是barfs。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-27 08:18:52

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31902809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档