c# WPF 修改listbox的Item內容

  • 5241
  • 0

摘要:c# WPF 修改listbox的Item內容

看標題好像是很簡單的東西,但是沒想到我卻遇到了問題,

更神奇的是還不是只有我遇到(只能說外國人真是大神來著)。

情境就是:

 

選擇一條listitem後,我想透過按下Edit按扭來跳出修改畫面,按下ok按鈕將listbox修改。

 

然而當我按下ok後,listitem確實修改了,

但是listbox卻一直顯示選擇那一個被修改的item,

而按Edit他也沒有反應。

 

原因就是,你修改你"selectedItem"之後,listbox竟然不認得他了!

 

因此操作就要改成:先清除select再修改。

 

大致上如下:

            //先將select清空再修改
            int ch = listBox.SelectedIndex;
            listBox.SelectedIndex = -1;
            if (tbEName.Text != "")
                listBox.Items[ch] = tbEName.Text;

 

原本的做法是直接
 

            if (tbEName.Text != "")
                listBox.Items[listBox.selectedIndex] = tbEName.Text;

感覺上邏輯沒有錯,可是listBox就是不認得他原本的跟改過的是同一個......

 

目前正在跟listBox的順序修改搏鬥!

 

要是成功了再來分享吧XDDDD