示例#1
0
        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();
        }