/// <summary> /// Constructor. /// </summary> /// <param name="model">Model</param> protected ViewModelBase(IModelBase model) { this.BusyNotifier = new BusyNotifier(); this.IsBusy = this.BusyNotifier.ToReadOnlyReactivePropertySlim().AddTo(this.Disposable); this.Height = model.ToReactivePropertyAsSynchronized(myModel => myModel.Height) .AddTo(this.Disposable); this.Width = model.ToReactivePropertyAsSynchronized(myModel => myModel.Width) .AddTo(this.Disposable); this.Top = model.ToReactivePropertyAsSynchronized(myModel => myModel.Top) .AddTo(this.Disposable); this.Left = model.ToReactivePropertyAsSynchronized(myModel => myModel.Left) .AddTo(this.Disposable); this.WindowState = model.ToReactivePropertyAsSynchronized(myModel => myModel.WindowState) .AddTo(this.Disposable); }