如何讓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;
}