2016-04-30 20 views
0

ドラッグアンドドロップした後にリストボックスからアイテムを削除しようとしていますが、そうするとメッセージが表示されますリストボックスはデータソースにリンクされているためです。データソースからアイテムを削除せずにリストからアイテムを削除する - c#

問題は、データソース内に保持している間だけlistBoxのビューからアイテムを削除したいということです。ここで

は私がしようとしたものです:

int indexSelec = listBox3.SelectedIndex; 

listBox3.Items.Remove(listBox3.Items[indexSelec]); 

は、誰もが解決策を持っていますか? >一覧<文字列にあなた保管リストボックスの項目は、リストボックスから項目を追加または削除するには、そのリストを使用し

Thxを

+1

wpf/winforms? – AnjumSKhan

答えて

0

。次に例を示します。

まず、新しいリストを追加:List<string> _items = new List<string>();

がリストとリストボックスに表示する項目を追加します。

_items.Add("One"); 
_items.Add("Two"); 
_items.Add("Three"); 
listBox1.DataSource = _items; //this will display added items to List Box 

ボックスの一覧を表示する項目を追加する:

_items.Add("New Item " + DateTime.Now.Second); 
listBox1.DataSource = null; 
listBox1.DataSource = _items; 

リストボックスからアイテムを削除する:

int selectedIndex = listBox1.SelectedIndex; 
try 
{ 
    _items.RemoveAt(selectedIndex); 
} 
catch 
{ 
} 
listBox1.DataSource = null; 
listBox1.DataSource = _items; 
0

ReadOnlyCollectionの一部であるため、ListBoxからListBoxItemを削除することはできません。

ただし、Visibilityを設定できます。

ListBoxItem c = (ListBoxItem) ListBox1.ItemContainerGenerator.ContainerFromItem(ListBox1.Items[0]); 

c.Visibility = System.Windows.Visibility.Collapsed; 
関連する問題