在ListView中显示对象名称
本文关键字:对象 显示 ListView | 更新日期: 2023-09-27 18:21:26
我想在列表视图中显示*.ps1文件名。
XAML:
<ListView x:Name="script_pick" Height="102" Loaded="Scripts_Loaded" ItemsSource="{Binding Name}"/>
我的方法正确吗?所显示的只是列表视图中的WpfApplication2.Script,当只有两个文件时,它包含四个项目。
private void Scripts_Loaded(object sender, RoutedEventArgs e)
{
var txtFiles = Directory.EnumerateFiles(Directory.GetCurrentDirectory() + @"'Scripts", "*.ps1");
var scriptList = new List<Script>();
foreach (string currentFile in txtFiles)
{
using (StreamReader sr = new StreamReader(currentFile, true))
{
script_pick.Items.Add(new Script { Name = System.IO.Path.GetFileName(currentFile),
ScriptCode = sr.ReadToEnd()});
sr.Close();
}
}
}
您应该将listView绑定到目标集合,我猜这是script_pick.Items.
然后你有一个聪明的方法:为Script类添加一个数据模板,这样xaml就会知道如何显示它
或者您可以使用惰性(快速)方式:只需覆盖Script类上的ToString()即可显示您想要的内容(Script.Name):)
顺便说一句,你不需要在使用区块中关闭StreamReader。