Я хочу связать свою DataGrid, которая находится в файле Xaml, с коллекцией, которая находится не в коде, а в файле cs
Я пробовал разные методы, но безуспешно. На самом деле я не хочу писать какой-либо код в коде за файлом.
Код класса
public class Employee : INotifyPropertyChanged
{
private int _Id;
private string _FirstName;
private string _LastName;
private double _Salary;
public event PropertyChangedEventHandler PropertyChanged;
public Employee()
{
}
public Employee(int pId, string pFirstName, string pLastName, double pSalary)
{
Id = pId;
FirstName = pFirstName;
LastName = pLastName;
Salary = pSalary;
}
public int Id
{
set
{
_Id = value;
NotifyPropertyChanged("Id");
}
get { return _Id; }
}
public string FirstName
{
set
{
_FirstName = value;
NotifyPropertyChanged("FirstName");
}
get { return _FirstName; }
}
public string LastName
{
set
{
_LastName = value;
NotifyPropertyChanged("LastName");
}
get { return _LastName; }
}
public double Salary
{
set
{
_Salary = value;
NotifyPropertyChanged("Salary");
}
get { return _Salary; }
}
private void NotifyPropertyChanged(string pProperty)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(pProperty));
}
}
public class EmployeeCollection
{
ObservableCollection<Employee> lstEmp = new ObservableCollection<Employee>();
public ObservableCollection<Employee> GetEmployees()
{
lstEmp.Add(new Employee(1,"Firstname 1", "Lastname 1", 1.1 ));
lstEmp.Add(new Employee(2, "Firstname 2", "Lastname 2", 2.2));
lstEmp.Add(new Employee(3, "Firstname 3", "Lastname 3", 3.3));
lstEmp.Add(new Employee(4, "Firstname 4", "Lastname 4", 4.4));
lstEmp.Add(new Employee(5, "Firstname 5", "Lastname 5", 5.5));
lstEmp.Add(new Employee(6, "Firstname 6", "Lastname 6", 6.6));
return lstEmp;
}
}
его код Xaml
<my:DataGrid AutoGenerateColumns="true" Margin="20,0,68,10" Name="dataGrid2" Height="135" VerticalAlignment="Bottom" />