天天看點

listBox控件 目前選中事件

如何讓listBox中得到目前選中項且給一個事件?答案就是調用listBox中的屬性:SelectionChanged,

如在xmal中定義  --- SelectionChanged="theVlaueChanged"

在背景再定義

private void theVlaueChanged(object sender, SelectionChangedEventArgs e)

        {

            MessageBox.Show("進來了哈");

        }   

這樣就達到了我們的預想結果。<b>但是你發現當兩次連繼同時點選同一個選項時他隻會觸發一次SelectionChanged事件。</b>

原因很簡單,ListBox 清單框裡面的 Item 被選中後,ListBox 的 SelectedIndex 會被設定為該 Item 的 Index,當第二次選中這個 Item 時,事實上 SelectedIndex 并沒有變,是以 SelectionChanged 事件也不會被觸發,這個和html中的select中的onChanged方法一樣。是以我們将SelectedIndex設為-1,即一個都沒選中。

代碼如下:

    private void theVlaueChanged(object sender, SelectionChangedEventArgs e)

            if (my_list.SelectedIndex == -1)

            { 

                return;

            }

            else 

            {

                MessageBox.Show("進來了哈");

             my_list.SelectedIndex = -1;

        }