ListPicker を使用していますが、ExpansionMode を ExpansionAllowed に変更しても、常に FullscreenOnly モードで表示されます。
しかし、他のページでは同じコードが正しく機能しています。
なぜこの奇妙な動作が起こっているのですか?
ListPicker を使用していますが、ExpansionMode を ExpansionAllowed に変更しても、常に FullscreenOnly モードで表示されます。
しかし、他のページでは同じコードが正しく機能しています。
なぜこの奇妙な動作が起こっているのですか?
(これが 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>
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}">
(...)