/// <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; }
public GridModelView(IModelDefinition modelDefinition, IFieldViewProvider <IRenderContext> fieldViewProvider) : base(modelDefinition) { Ensure.NotNull(modelDefinition, "modelDefinition"); Ensure.NotNull(fieldViewProvider, "fieldViewProvider"); this.modelDefinition = modelDefinition; this.fieldViewProvider = fieldViewProvider; }
/// <summary> /// Returns field view for field and 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 that contains <paramref name="fieldDefinition" /></param> /// <param name="fieldDefinition">Field definition to find field view for.</param> /// <returns>Instance of registered field view.</returns> /// <exception cref="InvalidOperationException">When <paramref name="provider"/> can provide field view.</exception> public static IFieldView <T> Get <T>(this IFieldViewProvider <T> provider, IModelDefinition modelDefinition, IFieldDefinition fieldDefinition) { Ensure.NotNull(provider, "provider"); IFieldView <T> fieldView; if (provider.TryGet(modelDefinition, fieldDefinition, out fieldView)) { return(fieldView); } throw Ensure.Exception.InvalidOperation("Provider doesn't contain field view for model '{0}' and field '{1}'.", modelDefinition.Identifier, fieldDefinition.Identifier); }
public static void SetViewProvider(DependencyObject obj, IFieldViewProvider <IRenderContext> value) { obj.SetValue(ViewProviderProperty, value); }