2012-03-27 49 views
0

我在Silverlight應用程序中有一個ListBox。我試圖做一個可編輯的列表框,所以我使用ItemTemplate在每個項目中都有我需要的控件,例如文本框和按鈕,並且它的工作正常。Silverlight ListBox項目beeing以不同的順序顯示爲項目集合

我想在列表框的末尾添加一行以添加新項目的按鈕。由於此項目不會與任何我的域類相關,因此我使用普通對象作爲「填充符」,然後使用標識此項的代碼來正確顯示按鈕。

myListBox.Items.add(new object()); 

的問題是,我想這個「新記錄」項目將在列表框中結束始終保持,所以當我需要插入一個新的域記錄,我用這個代碼:

myListBox.Items.Insert(myListBox.Items.Count - 1, domainItem); 

當我調試myListBox.Items集合時,它的順序是正確的,最後是「添加新的」按鈕,但列表框在開始時顯示此按鈕。爲什麼我的物品會以與Items集合不同的順序顯示?

+0

該按鈕是在新項目或以上所有項目? – Vinicius 2012-03-27 19:49:19

回答

1

除非有一個特定的原因,而不是嘗試將按鈕放入列表框集合本身,您最好使用列表框外部和下部的按鈕創建一個新的控件。如果需要,您始終可以設置按鈕的樣式,使其看起來好像位於列表框中。

+0

感謝您的建議,我這樣做並解決了我的問題。 – Marlon 2012-03-29 13:25:31

1

是不是有一個原因,你不使用數據網格,因爲它會消除所有的訂購問題,它可以讓你編輯條目。

datagrid綁定到一個ObservableCollection,它將您的可編輯字段自動連接到GUI。

乾杯,