【发布时间】:2012-11-07 22:19:31
【问题描述】:
我在 ScrollViewer 内的 Listbox 中使用 Listpicker。如果 Listpicker 中的项目数为 3(或小于 3),则 Listpicker 在当前页面中以 ComboBox 的形式打开。但如果项目数超过 3,它会在另一个页面中打开,而不是作为 ComboBox。我该如何解决这个问题?
【问题讨论】:
标签: windows-phone-7 listpicker
我在 ScrollViewer 内的 Listbox 中使用 Listpicker。如果 Listpicker 中的项目数为 3(或小于 3),则 Listpicker 在当前页面中以 ComboBox 的形式打开。但如果项目数超过 3,它会在另一个页面中打开,而不是作为 ComboBox。我该如何解决这个问题?
【问题讨论】:
标签: windows-phone-7 listpicker
您可以通过设置 ListPicker 的ItemCountThreshold 属性来设置显示在其他页面上的项目数。例如。当有超过 3 个项目可供选择时,设置 ItemCountThreshold=3 将强制 ListPicker 在新页面上显示项目。
可以找到有关 ListPicker 属性的更多信息,例如。这里:ListPicker for WP7 in depth
【讨论】:
ListPicker 是 Silverlight Toolkit for Windows Phone 中的一个新控件。用户可以选择其他项目,例如 Combobox,但 ListPicker 比 Combobox 具有更多功能。当您有大约 1->4 的小项目时,它会将数据显示为 Combobox,如果有更多项目 Listpicker 会将数据显示为 ListBox。
请参考此 Link 以获得完美的想法。
【讨论】:
阅读this article,一定要注意“ItemCountThreshold”属性。
ItemCountThreshold 是一个 int 类型的依赖属性。它指定将在展开模式下显示的最大项目数。默认情况下,包含五个或更少项目的列表会原地展开,而包含更多项目的列表会切换到全屏选择界面。也可以设置为 0 来切换 Full 模式,或者设置一个非常大的数字来切换 Expanded 模式。
【讨论】:
虽然工具包团队建议遵守限制,但有一些解决方法可以解决此问题。值可以通过代码设置,也可以通过绑定设置。
<toolkit:ListPicker ItemCountThreshold="{Binding Hugo,FallbackValue=10}">(...)
<!-- Hugo is a bogus binding that does not really exist -->
查看我的详细信息answer to a related question。
【讨论】: