C# 动态创建的ListViewItems未显示在我的ListView中
我正在动态创建ListViewItem子体:C# 动态创建的ListViewItems未显示在我的ListView中,c#,.net,listview,dynamic,listviewitem,C#,.net,Listview,Dynamic,Listviewitem,我正在动态创建ListViewItem子体: class Application : ListViewItem { . . . class LegacyApplication : Application { 我首先将这些存储在OBECT列表中: private List<object> legacyApps = new List<object>(); …然后我通过以下方式将它们添加到主窗体的ListView中: foreach (LegacyApplication L
class Application : ListViewItem {
. . .
class LegacyApplication : Application {
我首先将这些存储在OBECT列表中:
private List<object> legacyApps = new List<object>();
…然后我通过以下方式将它们添加到主窗体的ListView中:
foreach (LegacyApplication LegApp in legacyApps) {
this.listApplications.Items.Add(LegApp);
}
…但ListView不显示它们。它显示我创建的ListView组(每个ListViewItem都分配给其中一个组),但不显示ListViewItems本身
已更新请求的信息:
ListViewItem子体的构造函数如下所示:
public LegacyApplication(String AAppName, String ATitle, String ADesc, String AIconFileName, String APathOfExe, List<String> ACategories) {
base.Name = String.Format("legapplvi{0}", AAppName);
base.Text = ATitle; // "Title" is a short description - between exe name and Description
base.ToolTipText = ADesc;
base.EnsureVisible();
// "base" above means ListViewItem; "base" below refers to our Application class*
base.Categories = ACategories;
base.ExePath = APathOfExe;
base.IconFileName = AIconFileName;
}
…但现在,如何将特定的ListViewItems添加到特定列
在使其工作(某种程度上)后更新:
对此,
listApplications.View = View.Details;
…获取要显示的项目。但是,文本被截断,这导致我在这里提出另一个问题:
您是否尝试先创建ListViewItem,然后将其添加到列表中,而不是使用 这个.listApplications.Items.Add(LegApp)
能否通过代码片段提供更多详细信息能否提供更多关于如何在ListViewItem的子类中设置ListViewItem中的文本和子项的详细信息?另外,ListView的属性是什么?如果使用View=Details,请不要忘记添加ColumnHeader。如果没有,您将看不到添加的项。我指的是子项,因为我(错误地)假设您使用的是详细信息显示模式。我看不出你提供的有什么明显的问题,对不起。你能为你的ListView添加一个Xaml吗?我很好奇这些是不是groupsIt看起来这里有两件事,我没有看到任何显示默认ListView控件继承性的东西。我最初的反应是从一个“常规”aspx页面开始,该页面上直接有一个ListView控件,并使用模板绑定来解决问题……然后将其提取到一个控件中,确保从ListView控件继承。我让它工作了——尽管我记不起当时是如何工作的!
for(var item in listApplications.Groups) {
listApplications.Columns.Add(item)
}
listApplications.View = View.Details;