1

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

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

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

4

2 回答 2

1

(假设这是 Windows Phone Toolkit ListPicker)

如果您的列表超过 5 个项目,那么它将以全屏模式打开。无法更改此阈值。

所以,这个会扩展:

<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>
于 2013-04-29T17:15:39.510 回答
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}">
(...)
于 2015-11-24T10:08:26.627 回答