/// <summary> /// Initializes a new instance of the <see cref="ObservableViewModel"/> class. /// </summary> /// <param name="serviceProvider">A service provider that can provide a <see cref="IDispatcherService"/> and an <see cref="ObservableViewModelService"/> to use for this view model.</param> /// <param name="propertyProvider">The object providing properties to display</param> /// <param name="graphNode">The root node of the view model to generate.</param> private ObservableViewModel(IViewModelServiceProvider serviceProvider, IPropertiesProviderViewModel propertyProvider, IGraphNode graphNode) : this(serviceProvider) { if (graphNode == null) throw new ArgumentNullException(nameof(graphNode)); PropertiesProvider = propertyProvider; var node = ObservableViewModelService.ObservableNodeFactory(this, "Root", graphNode.Content.IsPrimitive, graphNode, new GraphNodePath(graphNode), graphNode.Content.Type, Index.Empty); node.Initialize(); RootNode = node; node.CheckConsistency(); }
/// <summary> /// Initializes a new instance of the <see cref="ObservableViewModel"/> class. /// </summary> /// <param name="serviceProvider">A service provider that can provide a <see cref="IDispatcherService"/> and an <see cref="ObservableViewModelService"/> to use for this view model.</param> /// <param name="propertyProvider">The object providing properties to display</param> /// <param name="graphNode">The root node of the view model to generate.</param> private ObservableViewModel(IViewModelServiceProvider serviceProvider, IPropertiesProviderViewModel propertyProvider, IGraphNode graphNode) : this(serviceProvider) { if (graphNode == null) { throw new ArgumentNullException(nameof(graphNode)); } PropertiesProvider = propertyProvider; var node = ObservableViewModelService.ObservableNodeFactory(this, "Root", graphNode.Content.IsPrimitive, graphNode, new GraphNodePath(graphNode), graphNode.Content.Type, null); node.Initialize(); RootNode = node; node.CheckConsistency(); }
public static ObservableViewModel Create(IViewModelServiceProvider serviceProvider, IPropertiesProviderViewModel propertyProvider) { if (serviceProvider == null) throw new ArgumentNullException(nameof(serviceProvider)); if (propertyProvider == null) throw new ArgumentNullException(nameof(propertyProvider)); if (!propertyProvider.CanProvidePropertiesViewModel) return null; var rootNode = propertyProvider.GetRootNode(); if (rootNode == null) return null; return new ObservableViewModel(serviceProvider, propertyProvider, rootNode); }
/// <summary> /// Initializes a new instance of the <see cref="GraphViewModel"/> class. /// </summary> /// <param name="serviceProvider">A service provider that can provide a <see cref="IDispatcherService"/> and an <see cref="GraphViewModelService"/> to use for this view model.</param> /// <param name="propertyProvider">The object providing properties to display</param> /// <param name="graphNode">The root node of the view model to generate.</param> private GraphViewModel(IViewModelServiceProvider serviceProvider, IPropertiesProviderViewModel propertyProvider, IContentNode graphNode) : this(serviceProvider) { if (graphNode == null) { throw new ArgumentNullException(nameof(graphNode)); } PropertiesProvider = propertyProvider; var node = GraphViewModelService.GraphNodeViewModelFactory(this, "Root", graphNode.IsPrimitive, graphNode, new GraphNodePath(graphNode), graphNode.Type, Index.Empty); RootNode = node; node.Initialize(); node.FinalizeInitialization(); node.CheckConsistency(); }
public static ObservableViewModel Create(IViewModelServiceProvider serviceProvider, IPropertiesProviderViewModel propertyProvider) { if (serviceProvider == null) { throw new ArgumentNullException(nameof(serviceProvider)); } if (propertyProvider == null) { throw new ArgumentNullException(nameof(propertyProvider)); } if (!propertyProvider.CanProvidePropertiesViewModel) { return(null); } var rootNode = propertyProvider.GetRootNode(); if (rootNode == null) { return(null); } return(new ObservableViewModel(serviceProvider, propertyProvider, rootNode)); }