/// <summary> /// 根据 DetailLayoutMode 的值生成动态布局的表单。 /// </summary> /// <param name="detailView"></param> /// <param name="properties"></param> /// <returns></returns> protected FrameworkElement GenerateEditors( DetailLogicalView detailView, IEnumerable <WPFEntityPropertyViewMeta> properties, DetailLayoutMode layoutMode ) { if (detailView is QueryLogicalView) { return(this.GenerateGridEditors(detailView, properties)); } switch (layoutMode) { case DetailLayoutMode.Dynamic: if (detailView.CalculateColumnsCount(properties) == 1) { return(this.GenerateGridEditors(detailView, properties)); } else { return(this.GenerateWrappingEditors(detailView, properties)); } case DetailLayoutMode.Wrapping: return(this.GenerateWrappingEditors(detailView, properties)); case DetailLayoutMode.AutoGrid: return(this.GenerateGridEditors(detailView, properties)); default: return(this.GenerateWrappingEditors(detailView, properties)); } }
/// <summary> /// 声明当前表单使用的布局模式。 /// </summary> /// <param name="meta">The meta.</param> /// <param name="value">The value.</param> /// <returns></returns> public static WPFEntityViewMeta UseDetailLayoutMode(this WPFEntityViewMeta meta, DetailLayoutMode value) { meta.DetailLayoutMode = value; return(meta); }
/// <summary> /// 声明当前表单使用的布局模式。 /// </summary> /// <param name="meta">The meta.</param> /// <param name="value">The value.</param> /// <returns></returns> public static WPFDetailPropertyGroup UseDetailLayoutMode(this WPFDetailPropertyGroup meta, DetailLayoutMode value) { meta.LayoutMode = value; return(meta); }
/// <summary> /// 根据 DetailLayoutMode 的值生成动态布局的表单。 /// </summary> /// <param name="detailView"></param> /// <param name="properties"></param> /// <returns></returns> protected FrameworkElement GenerateEditors( DetailLogicalView detailView, IEnumerable<WPFEntityPropertyViewMeta> properties, DetailLayoutMode layoutMode ) { if (detailView is QueryLogicalView) { return this.GenerateGridEditors(detailView, properties); } switch (layoutMode) { case DetailLayoutMode.Dynamic: if (detailView.CalculateColumnsCount(properties) == 1) { return this.GenerateGridEditors(detailView, properties); } else { return this.GenerateWrappingEditors(detailView, properties); } case DetailLayoutMode.Wrapping: return this.GenerateWrappingEditors(detailView, properties); case DetailLayoutMode.AutoGrid: return this.GenerateGridEditors(detailView, properties); default: return this.GenerateWrappingEditors(detailView, properties); } }