/// <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); }
public static void SetViewProvider(DependencyObject obj, IModelViewProvider <IRenderContext> value) { obj.SetValue(ViewProviderProperty, value); }