Пример #1
0
 /// <summary>
 /// Sets a default providers to <paramref name="modelViewProvider"/> and <paramref name="fieldViewProvider"/>.
 /// </summary>
 /// <param name="modelViewProvider">A new default model view provider.</param>
 /// <param name="fieldViewProvider">A new default field view provider.</param>
 public static void Set(IModelViewProvider <IRenderContext> modelViewProvider, IFieldViewProvider <IRenderContext> fieldViewProvider)
 {
     Ensure.NotNull(modelViewProvider, "modelViewProvider");
     Ensure.NotNull(fieldViewProvider, "fieldViewProvider");
     DefaultViewProvider.modelViewProvider = modelViewProvider;
     DefaultViewProvider.fieldViewProvider = fieldViewProvider;
 }
        /// <summary>
        /// Returns model view for model definition.
        /// If such view is not registered, <see cref="InvalidOperationException"/> is thrown.
        /// </summary>
        /// <param name="provider">View provider.</param>
        /// <param name="modelDefinition">Model definition.</param>
        /// <returns>Instance of registered model view.</returns>
        /// <exception cref="InvalidOperationException">When <paramref name="provider"/> can provide model view.</exception>
        public static IModelView <T> Get <T>(this IModelViewProvider <T> provider, IModelDefinition modelDefinition)
        {
            Ensure.NotNull(provider, "provider");
            IModelView <T> modelView;

            if (provider.TryGet(modelDefinition, out modelView))
            {
                return(modelView);
            }

            throw Ensure.Exception.InvalidOperation("Provider doesn't contain model view for model '{0}'.", modelDefinition.Identifier);
        }
Пример #3
0
 public static void SetViewProvider(DependencyObject obj, IModelViewProvider <IRenderContext> value)
 {
     obj.SetValue(ViewProviderProperty, value);
 }