I have a ListBox in a Silverlight Application. I’m trying to make an editable listbox, so I use an ItemTemplate to have the controls i need in each item, like a textBox and buttons, and its working fine.
I’d like to have a line at the end of the Listbox with a button to add new items. Since this item won’t be related to any of my domain classes, I’m using a plain object as a ‘Filler’, and then I have code that identify this item to show the button correctly.
myListBox.Items.add(new object());
The problem is that I want this “new Record” item to be kept always at the end of listbox, so when I need to insert a new domain record, i use this code:
myListBox.Items.Insert(myListBox.Items.Count - 1, domainItem);
When I debug the myListBox.Items collections, it is in the right order, with the “add new” button at the end, but the listbox is displaying this button at the beggining. Why are my items beeing displayed in a different order than the Items collection?
Unless there is a specific reason, instead of trying to put the button into the listbox collection itself you would be best to create a new control with the button outside and below the listbox. You can always style the button to look as though it’s within the listbox if required.