libro
www.tuyano.com
C#ではじめるWindows 8アプリ開発入門

ComboBoxとListView (1/4)

作成:2014-02-15 11:21
更新:2014-02-15 11:21

■ComboBoxと表示項目

ComboBoxは、クリックするとメニューがポップアップして現れるタイプのGUIコントロールです。これは、このComboBox自身の使い方というより、「どうやって項目を設定するか」がポイントとなります。

ComboBoxに表示される項目の設定にはいくつかのやり方があります。基本は、「Items」というプロパティに項目を追加するやり方でしょう。Visual StudioのXAMLデザインツールの画面でComboBoxを配置し、プロパティウインドウから「Items」という項目を探してみてください。(コレクション)という表示がされていますが、これはこのItemsがコレクションとして管理されていることを示しています。

この横の「...」ボタンをクリックすると、項目作成のためのダイアログが現れます。このダイアログは、左側に項目の一覧が表示され、そこから項目を選択すると、その項目のプロパティが右側に表示されるようになっています。

項目の作成は、ダイアログの下にあるポップアップメニューから作成する項目の種類を選択肢、「追加」ボタンを押せば作れます。ComboBoxの場合、項目の種類は、もっとも単純な形なら「String」、基本的なComboBox用の項目としては「ComboBoxItem」といったものが利用されます。

Stringは、要するにテキストを項目として設定する、ということですね。これは、実は意外と大変です。ポップアップの項目にStringがないからです。<その他の型...>というメニューを選び、そこからSystem.Stringを検索して選ばないといけません。

ComboBoxItemは、ポップアップメニューに項目として用意されているので、まずはこれを選択して項目を幾つか追加しておきましょう。作成したComboBoxItemは、右側のプロパティから「Content」というところにテキストを設定することで、その項目に表示されるテキストを設定することができます。いくつかのComboBoxItemを作り、それぞれにContentを設定したら「OK」ボタンを押してダイアログを閉じ、実際に項目が表示されるか実行して確認してみましょう。

XAMLのソースコードを見ると、下のリスト欄のような形でタグが生成されているのがわかるはずです。MarginやWidthの値などはそれぞれ異なっているでしょうが、<ComboBox>タグの中に<ComboBoxItem>タグが組み込まれる、という形は同じはずです。

ちなみに、Stringを項目として追加した場合、<ComboBox>タグの中には、<x:string>というタグが追加されます。こちらは特に属性などもなくシンプルなタグになるはずです。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

<ComboBox x:Name="combo1" HorizontalAlignment="Left" Margin="113,215,0,0" 
        VerticalAlignment="Top" Width="323">
    <ComboBoxItem Content="Windows"/>
    <ComboBoxItem Content="Mac OS X"/>
    <ComboBoxItem Content="Linux"/>
    <ComboBoxItem Content="Chrome OS"/>
</ComboBox>

※関連コンテンツ

「C#ではじめるWindows 8アプリ開発入門」に戻る