[ListBox] 項目の選択を解除する

スポンサーリンク

単一の項目の選択を解除するには、Items プロパティの IsSelected プロパティをFalseに設定します。また、すべての選択を解除するには UnselectAll メソッドを使用するか SelectedIndex プロパティに -1 を設定します。 Silverlight では UnselectAllメソッドは使用することができないため、SelectedIndex プロパティを使用します。

下記は、単一項目の選択の解除と、全選択解除をする例です。

項目の選択を解除する例

 

VBの例

'[3番目の選択を解除]ボタンクリック時の処理
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click
    '3番目の項目を選択解除する
    DirectCast(ListBox1.Items(2), ListBoxItem).IsSelected = False
End Sub

'[全選択解除]ボタンクリック時の例
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button2.Click
    '全項目の選択を解除する
    '(SilverlightのListBoxコントロールにはUnselectAllメソッドがないので注意)
    ListBox1.SelectedIndex = -1
End Sub

C#の例

private void button1_Click(object sender, RoutedEventArgs e)
{
    // 3番目の項目を選択解除する
    ((ListBoxItem)listBox1.Items[2]).IsSelected = false;
}

private void button2_Click(object sender, RoutedEventArgs e)
{
    // 全項目の選択を解除する
    // (SilverlightのListBoxコントロールにはUnselectAllメソッドがないので注意)
    listBox1.SelectedIndex = -1;

    listBox1.Focus();
}
タイトルとURLをコピーしました