1つの列を持つ詳細モードのユーザーコントロールにListViewがあります。私はデザイナーを介してアイテムを追加し、それは正常に表示されます。しかし、私がプログラムで追加するものは、リストには表示されません。 ListView.Items.Countプロパティは正しいですが。UserControlのListViewにプログラムによって追加されたListViewItemsが見えないのですか?
追加コードとリストビューをメインフォームにコピーしましたが、すべて表示されます。
// user control
public void AddFiles(IEnumerable<string> files)
{
// this doesn't work - list view doesn't show any new files
ListViewItem[] items = files.Select(file => new ListViewItem(file)).ToArray();
listView1.Items.AddRange(items);
}
// main form
private void AddFiles(IEnumerable<string> files)
{
// call to the user control
fileList.AddFiles(files);
// test code works correctly - can see the added files in the list view
ListViewItem[] items = files.Select(file => new ListViewItem(file)).ToArray();
listView1.Items.AddRange(items);
}