Пример #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;
 }
Пример #2
0
 public GridModelView(IModelDefinition modelDefinition, IFieldViewProvider <IRenderContext> fieldViewProvider)
     : base(modelDefinition)
 {
     Ensure.NotNull(modelDefinition, "modelDefinition");
     Ensure.NotNull(fieldViewProvider, "fieldViewProvider");
     this.modelDefinition   = modelDefinition;
     this.fieldViewProvider = fieldViewProvider;
 }
Пример #3
0
        /// <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);
        }
Пример #4
0
 public static void SetViewProvider(DependencyObject obj, IFieldViewProvider <IRenderContext> value)
 {
     obj.SetValue(ViewProviderProperty, value);
 }