c#WPF运行时添加绑定到List <class>的行

时间:2017-02-14 03:07:16

标签: c# wpf binding

我有一个数据网格,现在可以说2列。 “App Name”和“App Location”。起初没有行只有2列,但是当我单击一个按钮并打开OpenFileDialog时,我选择.exe文件然后我希望.exe文件名和位置(路径)在我的数据网格中。

起初我设法做到这一点,但是当我双击该行时,它给出了错误,“此视图不允许使用''EditItem'。”所以我搜索了它,发现我必须将行绑定到列表中。我做了它,现在当我添加.exe文件时,行数显示在行中。

我的项目课程

public class ApplicationItem
   {
       //public bool isAppRun { get; set; }
       public string appName { get; set; }
       public string appLocation { get; set; }
   }

我的第一个代码可以添加但双击一行时出错

        OpenFileDialog fileDialog = new OpenFileDialog();
        fileDialog.DefaultExt = ".exe";
        fileDialog.Filter = "Exe Files (*.exe)|*.exe";
        Nullable<bool> selected = fileDialog.ShowDialog();

        if (selected == true) //selected a file
        {
            fileName = fileDialog.SafeFileName.ToString();
            filePath = fileDialog.FileName.ToString();

            applications_grd.Items.Add(new ApplicationItem()
            {
                appName = fileName.Remove(fileName.Length - 4),
                appLocation = filePath
            });

我使用List的第二个代码然后在行中没有文本。

    string fileName = "";
    string filePath = "";
    List<ApplicationItem> appItems = new List<ApplicationItem>();

            appItems.Add(new ApplicationItem()
            {
                appName = fileName.Remove(fileName.Length - 4),
                appLocation = filePath
            });

            applications_grd.Items.Add(appItems);

提前致谢。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

这可能适用于xaml页面添加

AutoGenerateColumns="True"

在网格和.cs代码集

applications_grd.ItemsSource = appItems;