Пример #1
0
 /// <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();
 }
Пример #2
0
 /// <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();
 }
Пример #3
0
        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);
        }
Пример #4
0
 /// <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();
 }
Пример #5
0
        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));
        }