<Window x:Class="View.EmployeeView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:toolkit="http://schemas.microsoft.com/wpf/2008/toolkit" Title="EmployeeView" Height="300" Width="300" > <Grid> <toolkit:DataGrid x:Name="EmployeeListGrid" ItemsSource="{Binding EmployeeList}" > <toolkit:DataGrid.Columns> <toolkit:DataGridTextColumn Header="Id" Width="63" Binding="{Binding ID}" IsReadOnly="false" /> <toolkit:DataGridTextColumn Header="Name" Width="*" Binding="{Binding theName}" IsReadOnly="false" /> </toolkit:DataGrid.Columns> </toolkit:DataGrid> </Grid></Window>
public class Employee : INotifyPropertyChanged { #region Private data Member // Property variables private int _id; private string _theName; #endregion #region Constructors public Employee() { } #endregion #region Properties public int Id { get { return _id; } set { _id = value; PropertyChangedEvent("Id"); } } public string TheName { get { return _theName; } set { _theName = value; PropertyChangedEvent("TheName"); } } #endregion #region INotifyPropertyChanged Members public event PropertyChangedEventHandler PropertyChanged; protected void PropertyChangedEvent(string propertyName) { if (PropertyChanged != null) { var e = new PropertyChangedEventArgs(propertyName); PropertyChanged(this, e); } } #endregion }
public class EmployeeViewModel : INotifyPropertyChanged { #region private Data Member // Property variables private ObservableCollection _EmployeeList; #endregion #region Constructor public EmployeeViewModel() { this.InitilizeEmployee(); } #endregion #region Bindable Properties public ObservableCollection EmployeeList { get { return _EmployeeList; } set { _EmployeeList = value; PropertyChangedEvent("EmployeeList"); } } #endregion private void InitilizeEmployee() { _EmployeeList = new ObservableCollection(); _EmployeeList.Add(new Employee { Id=1,TheName="Tony" }); _EmployeeList.Add(new Employee { Id = 2, TheName = "Ashish" }); _EmployeeList.Add(new Employee { Id = 3, TheName = "Ravinddra" }); _EmployeeList.Add(new Employee { Id = 4, TheName = "Navin" }); _EmployeeList.Add(new Employee { Id = 4, TheName = "Thomos" }); } #region INotifyPropertyChanged Members public event PropertyChangedEventHandler PropertyChanged; protected void PropertyChangedEvent(string propertyName) { if (PropertyChanged != null) { var e = new PropertyChangedEventArgs(propertyName); PropertyChanged(this, e); } } #endregion }
protected override void OnStartup(StartupEventArgs e){ base.OnStartup(e); // Initialize main window and view model var mainWindow = new EmployeeView(); var viewModel = new EmployeeViewModel(); mainWindow.DataContext = viewModel; mainWindow.Show();}