Codebehind: public class model : ViewModelBase { private string name; public string Name { get { return name; } set { name = value; OnPropertyChanged("Name"); } } private int id; public int Id { get { return id; } set { id = value; OnPropertyChanged("Id"); } } } public class ViewModelBase : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged(string propertyName) { if (this.PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } public class MainWindowViewModel : ViewModelBase { private model model; public model Model { get { return model; } set { model=value; OnPropertyChanged("Model"); } } public MainWindowViewModel() { Model = new model() { Id = 5, Name = "John" }; } }