在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中显示对象名称

您应该将listView绑定到目标集合,我猜这是script_pick.Items.

然后你有一个聪明的方法:为Script类添加一个数据模板,这样xaml就会知道如何显示它

或者您可以使用惰性(快速)方式:只需覆盖Script类上的ToString()即可显示您想要的内容(Script.Name):)

顺便说一句,你不需要在使用区块中关闭StreamReader。