WPF/C# Binding custom object list data to a ListBox?(WPF/C# 将自定义对象列表数据绑定到 ListBox?)
问题描述
在 WPF 中将自定义对象列表的数据绑定到 ListBox 时,我遇到了一些困难.
I've ran into a bit of a wall with being able to bind data of my custom object list to a ListBox in WPF.
这是自定义对象:
public class FileItem
{
public string Name { get; set; }
public string Path { get; set; }
}
这是列表:
private List<FileItem> folder = new List<FileItem>();
public List<FileItem> Folder { get { return folder; } }
当文件被移动、删除、重命名等时,列表由 FileSystemWatcher 填充和维护.列表所做的只是跟踪名称和路径.
The list gets populated and maintained by a FileSystemWatcher as files get moved around, deleted, renamed, etc. All the list does is keeps tracks of names and paths.
这是我在 MainWindow 代码隐藏文件中的内容(目前为了测试目的而对其进行了硬编码):
Here's what I have in the MainWindow code-behind file (it's hard coded for testing purposes for now):
FolderWatcher folder1 = new FolderWatcher();
folder1.Run(@"E:MyApp est", "*.txt");
listboxFolder1.ItemsSource = folder1.Folder;
这是我的 XAML 部分:
Here's my XAML portion:
<ListBox x:Name="listboxFolder1" Grid.Row="1" BorderThickness="0"
ItemsSource="{Binding}"/>
不幸的是,唯一显示的是每个条目的 MyApp.FileItem.如何显示名称等特定属性?
Unfortunately, the only thing that gets displayed is MyApp.FileItem for every entry. How do I display the specific property such as name?
推荐答案
你需要为你的 ListBox 定义 ItemTemplate
You will need to define the ItemTemplate for your ListBox
<ListBox x:Name="listboxFolder1" Grid.Row="1" BorderThickness="0"
ItemsSource="{Binding}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
这篇关于WPF/C# 将自定义对象列表数据绑定到 ListBox?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:WPF/C# 将自定义对象列表数据绑定到 ListBox?
基础教程推荐
- WPF 模态进度窗口 2022-01-01
- 如果有人提交恶意软件Nuget包怎么办? 2022-01-01
- 当值可以是对象或空数组时反序列化 JSON 2022-01-01
- Moq It.Is<>不匹配 2022-01-01
- 如何使用 .Net 检查 Active Directory 服务器是否已启动并正在运行? 2022-01-01
- 我应该在后面的代码中直接使用 Linq To SQL 还是使 2022-01-01
- Azure Functions:CosmosDBTrigger 未在 Visual Studio 中触发 2022-01-01
- .NET SerialPort DataReceived 事件未触发 2022-01-01
- C# 从 List<List<int>> 中删除重 2022-01-01
- 禁止输入少量字符,例如'<'、'&a 2022-01-01
