ContactPicker.PickMultipleContactsAsync 的替换
Replacement for ContactPicker.PickMultipleContactsAsync
ContactPicker.PickSingleContactAsync
和 ContactPicker.PickMultipleContactsAsync
的文档声明它们 "may" 不受支持 post Windows 8.1 或 Windows Phone 8.1
并支持他们不。不仅已弃用,而且已过时,取而代之的是 ContactPicker.PickContactAsync
和 ContactPicker.PickContactsAsync
,旧方法在 Windows 10 下抛出未实现的异常。
在回答我关于 Stack Overflow 的最后一个问题之后,我阅读了该页末尾引用的 Windows 10 documentation page for PickContactsAsync and downloaded the sample。 运行那个在Win10下的样本,我发现:
ContactPicker.PickContactAsync
只允许 selection 正如预期的那样只有一个联系人。
ContactPicker.PickContactsAsync
有效,但只允许 selection 一个接触,这与样本提出的预期相反。
ContactPicker.PickContactsAsync
的行为是一个即将被纠正的错误,一个简单的故障,因为油漆在 Windows 10 上仍在干燥,或者某些天才决定停止支持多个 select接触离子?
我可以编写一个循环,以便用户可以连续选择它们——短期内我看不到任何其他选项——但这是一种糟糕的用户体验。如果我需要设置一些设置或选项来神奇地解决问题,我很想听听。
下面是好答案的支持信息
这是选择器启动时的样子。
应用栏在哪里?它没有显示。如果您单击或点按某个联系人,则会 selected 并且选择器会关闭。只有当你点击 "Select a contact" 时它才会出现,像这样:
如果您随后单击 list-with-ticks 字形,突然 UI 变为:
一旦你知道如何做,这很容易,而且很难发现。这无疑是被称为 Windows 8 的 haptomanic 发作的残余。
其他伤亡包括曾经允许范围的 Shift 和 Ctrl 键以及 mouse/keyboard 环境中的 multi-select。这些行为由通用对话框使用的 Windows 列表框实现。大概新的 UI 不使用列表框。
一些主动提供给 Microsoft 的建议
免费升级到 Windows 10 的全部意义在于将其固定在家中,因为这实现了两件事。
- 习惯于在家里 Windows 的人会在工作场所需要它。
- 它灌输年轻人。你不能让他们与 Apple 单独相处。真是毛骨悚然。
像这里考虑的那样的 UX 灾难会毁掉你的好工作。联系人选择器是新的通用对话框。它影响一切。尽管应用程序开发人员愚蠢,但这是产生良好用户体验的最大杠杆。
这是我认为您应该做的:当通过 PickContactsAsync 调用联系人选择器时,已经在多 select 模式下打开它。
还有一件事
虽然我在倾销微软,但样本中也有一个错误。在Scenario2_PickContacts.xaml.cs
这一行
if (this.contacts.Count > 0)
应该读作
if (this.contacts != null && this.contacts.Count > 0)
因为如果你不选择任何东西,this.contacts
就是空的,它会吐出来。
PickContactsAsync
可以 select 多个联系人,但是 UI 它有点隐藏。您需要单击应用栏中的 "Select" 按钮。 (看起来像一个带有复选框的列表。)
ContactPicker.PickSingleContactAsync
和 ContactPicker.PickMultipleContactsAsync
的文档声明它们 "may" 不受支持 post Windows 8.1 或 Windows Phone 8.1
并支持他们不。不仅已弃用,而且已过时,取而代之的是 ContactPicker.PickContactAsync
和 ContactPicker.PickContactsAsync
,旧方法在 Windows 10 下抛出未实现的异常。
在回答我关于 Stack Overflow 的最后一个问题之后,我阅读了该页末尾引用的 Windows 10 documentation page for PickContactsAsync and downloaded the sample。 运行那个在Win10下的样本,我发现:
ContactPicker.PickContactAsync
只允许 selection 正如预期的那样只有一个联系人。ContactPicker.PickContactsAsync
有效,但只允许 selection 一个接触,这与样本提出的预期相反。
ContactPicker.PickContactsAsync
的行为是一个即将被纠正的错误,一个简单的故障,因为油漆在 Windows 10 上仍在干燥,或者某些天才决定停止支持多个 select接触离子?
我可以编写一个循环,以便用户可以连续选择它们——短期内我看不到任何其他选项——但这是一种糟糕的用户体验。如果我需要设置一些设置或选项来神奇地解决问题,我很想听听。
下面是好答案的支持信息
这是选择器启动时的样子。
应用栏在哪里?它没有显示。如果您单击或点按某个联系人,则会 selected 并且选择器会关闭。只有当你点击 "Select a contact" 时它才会出现,像这样:
如果您随后单击 list-with-ticks 字形,突然 UI 变为:
一旦你知道如何做,这很容易,而且很难发现。这无疑是被称为 Windows 8 的 haptomanic 发作的残余。
其他伤亡包括曾经允许范围的 Shift 和 Ctrl 键以及 mouse/keyboard 环境中的 multi-select。这些行为由通用对话框使用的 Windows 列表框实现。大概新的 UI 不使用列表框。
一些主动提供给 Microsoft 的建议
免费升级到 Windows 10 的全部意义在于将其固定在家中,因为这实现了两件事。
- 习惯于在家里 Windows 的人会在工作场所需要它。
- 它灌输年轻人。你不能让他们与 Apple 单独相处。真是毛骨悚然。
像这里考虑的那样的 UX 灾难会毁掉你的好工作。联系人选择器是新的通用对话框。它影响一切。尽管应用程序开发人员愚蠢,但这是产生良好用户体验的最大杠杆。
这是我认为您应该做的:当通过 PickContactsAsync 调用联系人选择器时,已经在多 select 模式下打开它。
还有一件事
虽然我在倾销微软,但样本中也有一个错误。在Scenario2_PickContacts.xaml.cs
这一行
if (this.contacts.Count > 0)
应该读作
if (this.contacts != null && this.contacts.Count > 0)
因为如果你不选择任何东西,this.contacts
就是空的,它会吐出来。
PickContactsAsync
可以 select 多个联系人,但是 UI 它有点隐藏。您需要单击应用栏中的 "Select" 按钮。 (看起来像一个带有复选框的列表。)