J'essaie de supprimer certains objets d'un ListBox que j'ai créé, et pour une raison quelconque, ListBox.Items.IsReadOnly est vrai.Pourquoi ListBox.Items.IsReadOnly = true? (F #/Silverlight)
Les appels suivants ne fonctionnent pas:
myListBox.Items.Add("whatever")
myListBox.Items.Add("stuff")
myListBox.Items.Remove("whatever")
Je reçois une exception:
{System.InvalidOperationException: Operation not supported on read-only collection.
at System.Windows.Controls.ItemCollection.RemoveImpl(Object value)
at System.Windows.Controls.ItemCollection.RemoveInternal(Object value)
at System.Windows.PresentationFrameworkCollection`1.Remove(T value)
je peux mettre ListBox.ItemsSource, mais travailler avec .Items est beaucoup plus facile. Je suis en train de créer le ListBox comme ceci:
let mutable myListBox= new ListBox()
Toutes les idées/suggestions seraient grandement appréciées. Merci.
Je vais essayer ... c'est étrange, parce que dans C# Items.Remove/Items.RemoveAt semblent fonctionner: http://stackoverflow.com/questions/1400091/search-and-remove-item-from- listbox –
@Mike - D'accord, c'est étrange, mais je ne suis pas assez familier avec F # pour pouvoir dire pourquoi c'est différent. – ChrisF
J'ai travaillé en créant une nouvelle ObservableCollection, en l'assignant en tant que ItemsSource sur ma ListBox, puis en la manipulant au lieu d'Items. Je ne sais toujours pas pourquoi les éléments sont en lecture seule, mais bon, cela fonctionne. Merci. –