摘要: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