2017-02-14 3 views
1

У меня есть datagrid, который позволяет теперь говорить 2 столбца. «Имя приложения» и «Местоположение приложения». Сначала строка не содержит только 2 столбца, но когда я нажимаю кнопку и открывается OpenFileDialog, я выбираю файл .exe, тогда я хочу, чтобы это имя файла и его местоположение (путь) были в моем datagrid.C# WPF строка добавления времени выполнения, привязанная к списку <class>

Сначала мне удается это сделать, но когда я дважды щелкаю по строке, это дает мне ошибку: «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 
      }); 

второй код, где я использую список, то не получил никакого текста в строках.

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); 

Заранее спасибо. Любая помощь будет высоко ценится.

ответ

0

Это может работать в xaml странице добавить

AutoGenerateColumns="True"

в сетке и в .cs код установлен

applications_grd.ItemsSource = appItems; 
+0

Я думаю, что я получил его на работу, но Тереза ​​новая проблема. моя сетка выглядит так Применение | Расположение | appName | appLocation xx.exe D: \ xxx \ xx xx.exe D: \ xxx \ xx Я не знаю, почему, но моя переменная appName и appLocation находится в моем datagrid. –

+0

Можете ли вы объяснить приход? – Usman

+0

Это связано с тем, что вы связываете список с сеткой, можете ли вы сообщить ожидаемый результат в сетке – Usman

 Смежные вопросы

  • Нет связанных вопросов^_^