1

将 List<> 设置为 Gridview(WPF) 的 itemssource 时,会在应用程序启动时创建列。

请参阅以 List 作为 itemssource 的示例代码。这会在运行程序时正确生成列:“文件”、“持续时间”和“状态”,而没有将任何对象添加到列表中。

 public MainWindow()
         {
          InitializeComponent();
          DataGrid.ItemsSource = LoadFiles();
         }

 public class Files
        {
            public string File { get; set; }
            public string Duration { get; set; }
            public string Status { get; set; }
        }

        List<Files> files = new List<Files>();

        private List<Files> LoadFiles()
        { 
            return files;
        }

现在我重写了代码以将 GridView 与 Dictionary 类型绑定,因为我需要存储值/键对。但是在加载应用程序时,不会生成列。这些列仅在 Dictionary 填充内容后生成:

 public MainWindow()
    {
        InitializeComponent();
        DataGrid.ItemsSource = LoadFile();   
    }
 public class Files
        {
            public string File { get; set; }
            public string Duration { get; set; }
            public string Status { get; set; }  
        }

Dictionary<Files, string> files = new Dictionary<Files, string>();

        private Dictionary<Files, string> LoadFiles()
        {
            return files;
        }

即使 Dictionary<> 为空,我也希望创建列。有什么建议吗?

4

0 回答 0