public SynchronizeObjectViewModel() { var inpc = new ObservableObject { Name = "Bill" }; var poco = new PlainObject { Name = "Steve" }; // TwoWay synchronize TwoWay = inpc.ToReactivePropertyAsSynchronized(x => x.Name); // OneWay synchronize OneWay = inpc.ObserveProperty(x => x.Name).ToReactiveProperty(); // OneWayToSource synchronize OneWayToSource = ReactiveProperty.FromObject(poco, x => x.Name); // synchronization check CheckCommand = new ReactiveCommand(); this.AlertMessage = CheckCommand.Select(_ => "INPC Name:" + inpc.Name + Environment.NewLine + "POCO Name:" + poco.Name) .ToReactiveProperty(mode: ReactivePropertyMode.None); }