这是我的ListView:
<ListView ItemsSource="{Binding ModuleList}">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<!--<Image Source="{Binding ModuleImage}" Stretch="UniformToFill"/>-->
<TextBlock Text="{Binding ModuleName}"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
这是WPF(MVVM)中的代码:
public ItemListViewVM() : base()
{
ModuleList = new List<Module>();
modulLoader.LoadAllModules();
tempModulList = modulLoader.GetallModules();
foreach (var module in tempModulList)
{
ModuleImage = module.ModuleImage;
ModuleName = module.Name;
ModuleList.Add(module);
}
}
长话短说:列表tempModulList
包含类型为Module
的对象,该对象具有一个ImageSource Image
和一个字符串Name
。然后ModuleList一项接另一项。当我取消注释xaml中的图像时,您可以看到它。但是无论如何,TextBlock都不会显示。我检查了每个项目的字符串module.Name
,它不是空的。
编辑:添加模块类 模块类仅包含名称和图像:
public class Module
{
public ImageSource ModuleImage { get; set; }
public string Name { get; set; }
}
通过反序列化Json来创建对象