SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Silverlight/WPFで使える逆引きTips集

Silverlight/WPFで使える逆引きTips集
――コンボボックス機能

(5) ComboBoxコントロール

5. 項目を選択する

 XAMLで ComboBoxコントロールの任意の項目を選択するにはComboBoxItem 要素の IsSelected 属性に True を設定します。

 また、コードから項目を選択状態するには、 Items プロパティに選択する項目のインデックスを指定し、 IsSelected プロパティを True にします。

 下記は[3番目を選択]ボタンを押すと、上から3番目に表示されている項目を選択状態にする例です。

項目を選択する例
項目を選択する例
XAMLの例
<Button Content="3番目を選択する" />
<ComboBox>
    <ComboBoxItem>リンゴ</ComboBoxItem>
    <ComboBoxItem>ミカン</ComboBoxItem>
    <ComboBoxItem IsSelected="True">バナナ</ComboBoxItem>  <!-- IsSelected に True をセット-->
    <ComboBoxItem>パイナップル</ComboBoxItem>
    <ComboBoxItem>スイカ</ComboBoxItem>
    <ComboBoxItem>グレープフルーツ</ComboBoxItem>
</ComboBox>
VBの例
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) 
    Handles Button1.Click
    '3番目(インデックスが2)の項目を選択する
    DirectCast(ComboBox1.Items(2), ComboBoxItem).IsSelected = True
End Sub
C#の例
private void button1_Click(object sender, RoutedEventArgs e)
{
    // 3番目(インデックスが2)の項目を選択する
    ((ComboBoxItem)comboBox1.Items[2]).IsSelected = true;
}

ポイント

 XAMLで項目を選択するには ComboBoxItem 要素の IsSelected 属性に True をセットする。

 コードから項目を選択するには Items プロパティの IsSelected プロパティに True をセットする。

6. 選択項目を取得する

 現在選択されている項目を取得するには、SelectedItem プロパティContent プロパティを参照します。

 下記は、[選択項目を取得]ボタンがクリックされたときに、現在選択されている項目を表示する例です。

選択項目を取得する例
選択項目を取得する例
VBの例
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) 
    Handles Button1.Click
    '何も選択されていない場合は処理しない
    If IsNothing(ComboBox1.SelectedItem) Then
        Return
    End If

    '選択されている項目を取得
    Dim selectedItem As String = DirectCast(ComboBox1.SelectedItem, ComboBoxItem).Content

    MessageBox.Show(selectedItem)        
End Sub
C#の例
private void button1_Click(object sender, RoutedEventArgs e)
{
    // 何も選択されていない場合は処理しない
    if (comboBox1.SelectedItem == null)
        return;

    // 選択されている項目を取得
    string selectedItem = ((ComboBoxItem)comboBox1.SelectedItem).Content.ToString();

    MessageBox.Show(selectedItem);
}
ポイント

 現在選択されている項目を取得するには、SelectedItem プロパティの Count プロパティを使用する。

次のページ
7. 選択項目のインデックスを取得する

この記事は参考になりましたか?

Silverlight/WPFで使える逆引きTips集連載記事一覧

もっと読む

この記事の著者

HIRO(ヒロ)

HIRO's.NETのHIROです。とある半導体工場のSEです。VB.NET, C#, PowerShellによるプログラミングを楽しんでいます。最近はBlog でPowerShellについて書いています。2008/07/07にPowerShell from Japan!!というサイトを立ち上げまし...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/5603 2010/12/08 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー