为什么ListPicker始终以FullscreenOnly模式显示

时间:2013-04-29 11:10:52

标签: windows-phone-8 windows-phone listpicker

我正在使用ListPicker,即使我将ExpansionMode更改为ExpansionAllowed,它也始终以FullscreenOnly模式显示。

但在其他页面中,相同的代码工作正常。

为什么会发生这种奇怪的行为?

2 个答案:

答案 0 :(得分:1)

(假设这是Windows Phone Toolkit ListPicker)

如果您的列表超过5个项目,那么它将在FullScreenMode中打开。无法更改此阈值。

所以,这个会扩大:

<toolkit:ListPicker Header="Background">
    <sys:String>dark</sys:String>
    <sys:String>light</sys:String>
    <sys:String>dazzle</sys:String>
    <sys:String>4</sys:String>
    <sys:String>5</sys:String>
</toolkit:ListPicker>

这个将永远是全屏:

<toolkit:ListPicker Header="Background">
    <sys:String>dark</sys:String>
    <sys:String>light</sys:String>
    <sys:String>dazzle</sys:String>
    <sys:String>4</sys:String>
    <sys:String>5</sys:String>
    <sys:String>6</sys:String>
</toolkit:ListPicker>

答案 1 :(得分:0)

可以扩展超过5个元素。您必须设置ItemCountThreshold。

我在视图模型中将其设置在我设置集合项目的方法中。

Collection = new ObservableCollection<Item>
{
    new Item();
    new Item();
    new Item();
    new Item();
    new Item();
    new Item();
}
CollectionItemsCount = Collection.Count;

在xaml中绑定:

<toolkit:ListPicker ExpansionMode="ExpansionAllowed" ItemsSource="{Binding Collection}" SelectedItem="{Binding SelectedItem, Mode=TwoWay}" ItemCountThreshold="{Binding CollectionItemsCount}">
(...)