public Editor(IEditorViewModel owner) { editorViewModel_ = owner; State.Value = new EmptyState(this); var project = Project.Where(x => x != null); var dependencyChanged = project.SelectMany(x => Observable.Merge(x.DependenciesPathes.ToArray())); OnSettingChanged = project.SelectMany(x => x.SavePath) .Merge(project.SelectMany(x => x.AssemblyPath)) .Merge(project.SelectMany(x => x.ProjectTypeName)) .Merge(dependencyChanged) .Select(x => Unit.Default); Title = State.Select(x => "PropertyWriter" + VersionInfo.GetAppVersionString() + x.Title) .ToReactiveProperty(); CanSave = State.Select(x => x.CanSave).ToReactiveProperty(); CanClose = State.SelectMany(x => x.CanClose).ToReactiveProperty(); }