【发布时间】:2020-01-13 14:35:17
【问题描述】:
使用 Visual Studio 2019 + Resharper。
大家好,我想添加列表视图,它显示对象中的内容,我从列表中获取。 它看起来像这样,当我手动编码时:
XAML 代码:
<ListView Margin="43,313,642,29" BorderThickness="2" BorderBrush="Red" x:Name="Module1">
<ListView.ItemTemplate>
<DataTemplate>
<WrapPanel>
<TextBlock Text="Modul"/>
<TextBlock Text="{Binding Name}" FontWeight="Bold"/>
</WrapPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
和c#代码:
List<Module> somename = pPP_2.Components.Modules.Values.Cast<Module>().ToList();
List<Module> whatevername = new List<Module>(){somename[0]};
Module1.ItemsSource = whatevername;
我提到的模块有几个属性,{somename[0]} 只是获取其中的第一个并将其放入列表中。
所以基本上我的问题: 如何使用 c# 创建这样的 xaml 代码?我想为列表中的每个元素创建一个这样的列表视图。我不想手动创建它们,而是让代码为我完成。
想了好几天了,很想在这里得到一些帮助。
谢谢, IRezzet。
附:你基本上可以忽略我在那里创建的特殊列表。这个问题应该适用于每个列表。
【问题讨论】:
-
为什么不为项目源创建一个包含 ListView 和(依赖)属性的用户控件?您只需使用新的 List
列表作为参数添加控件的新实例? -
您的代码不会为您执行此操作,因为您需要创建它!另外,查看您已经在使用的
DataTemplates,这些实际上将用于您的项目列表等...使用 xaml 比使用代码容易得多。
标签: c# wpf xaml listview foreach