雑記 - otherwise

最近はDQ10しかやっていないダメ技術者がちまちまと綴る雑記帳

わんくま東京勉強会 #64 アフターフォロー (5) : ComboBox の代替 - ListPicker

Windows Phone には desktop application の様な ComboBox コントロールが存在しません。
表示領域が限られているためやむを得ないところもありますが、アプリケーションを作る上では複数の選択肢から項目を選択させるシチュエーションは発生すると思います。
その際に ComboBox の代替として利用可能なコントロールに ListPicker があります。
但し、 ListPicker は Windows Phone の標準コントロールには含まれていませんので、利用する際は Toolkit が必要です。

ListPicker の表示モード


ListPocker にはドロップダウン表示と全画面表示の二種類の表示モードから選択可能になっています。但し、ドロップダウン表示を有効にした場合でも、選択肢が 6 つ以上の場合は常に全画面表示となります。

ListPicker の使いどころ

特に LOB (Line of Business) アプリケーションを作成する場合はこのコントロールを多様しがちになりますが、項目数が多い場合にパフォーマンスに関して問題が発生するケースもある様なので、乱用は避けた方が良いかと思います。

ListPicker でよく利用するプロパティ

ExpansionMode

ドロップダウン表示の利用可否を設定します。
ExpansionMode.ExpansionAllowed でドロップダウン表示が利用可能になります。常に全画面表示を行う場合は ExpansionMode.FullScreenOnly を設定します。
選択肢の個数が 6 個以上とわかっている場合は ExpansionMode.FullScreenOnly を設定しておく事をおススメします。

Header

コントロールのヘッダ文字列を指定します。

FullModeHeader

全画面表示時のヘッダ文字列を指定します。

ItemTemplate

ドロップダウン表示時の各選択肢の表示テンプレートを設定します。

FullModeItemTemplate

全画面表示時の各選択肢の表示テンプレートを設定します。