2011-06-21 21 views
2

私は、各行が「画像」と「テキストブロック」からなる行を持つリストボックスを持っています。私はのようなコードをバックに1行を削除する場合:読み取り専用コレクションでは操作がサポートされていません

this.UserListBox.Items.RemoveAt(this.UserListBox.SelectedIndex); 

あり、それは例外をスローします:読み取り専用のコレクションではサポートされていない

操作。

リストボックスから行を削除するにはどうすればよいですか?

私はWindows Phone 7 APPを作成しています。

+0

任意のコレクションにuデータバインドされたリストボックスがありますか? –

答えて

4

ListSourceにItemsSourceを設定すると、Itemsは内部的に生成され、読み込み専用になります。そのような場合は、アイテムを削除する必要があります。コレクションがINotifyCollectionChangedを実装している場合、コレクションの変更はリストボックスに反映されます。

+0

この回答に追加するには、 'ObservableCollection'は' INotifyCollectionChanged'を実装したリストです –

+0

ありがとうございます。それはObservableCollectionでListを置き換えます。 – Joel

+0

@JanSlodicka ListBoxのItemsSourceを設定すると、アイテムがすぐに生成されないことがわかりました。セットItemsSourceの直後にアイテムを生成する方法を教えてください。 – onmyway133

0

リストボックスのitemsSourceにアイテムリストをバインドする代わりに、ObservableCollectionを代わりに使用する必要があります。これで問題は解決します。 ObservabeCollectionには、使用できるRemoveメソッドがあります。

UserListBox.Items.Remove(this.UserListBox.SelectedItem); 
関連する問題