ListViewをList<string>
にバインドしたいのですが。私はこのコードを使用しています:
somelistview.DataBindings.Add ("Items", someclass, "SomeList");
この例外が発生します:読み取り専用であるため、プロパティ 'Items'にバインドできません。
Itemsプロパティが読み取り専用の場合、どのようにバインドする必要があるのかわかりませんか?
ListViewクラスは、デザイン時のバインドをサポートしていません。代替案は このプロジェクト に示されています。
ListViewの優れたバインディング実装
http://www.interact-sw.co.uk/utilities/bindablelistview/source/
または、データバインディングが必要な場合は、DataGridViewを使用できます。 BindingListとBindingSourceを使用すると、新しいアイテムがリストに追加されたときにDataGridが更新されます。
var barcodeContract = new BarcodeContract { Barcode = barcodeTxt.Text, Currency = currencyTxt.Text, Price = priceTxt.Text };
list.Add(barcodeContract);
var bindingList = new BindingList<BarcodeContract>(list);
var source = new BindingSource(bindingList, null);
dataGrid.DataSource = source;
そしてデータモデルクラス
public class BarcodeContract
{
public string Barcode { get; set; }
public string Price { get; set; }
public string Currency { get; set; }
}