XAF-UI元素概述

XAF框架会根据业务模型自动生成默认的UI。一般来说,您可以使用默认的用户界面,但如果它不符合您的要求,您可以自定义它。要做到这一点,你应该知道UI是由哪些元素组成的,以及你可以自定义什么元素,以实现替换或添加功能。

有关此的一般信息在本主题中提供。有关每个元素的详细信息,请参阅本帮助部分中的其余主题。

XAF框架中,定义了一些抽象的元素,在实际平台中,使用抽象元素绘制出真实的元素,即,抽象元素描述了实际元素的内容。

下面的图片展示了Windows窗体和ASP.NET Web应用程序版本中的抽象UI元素和相应的控件。

简单的说:下图中的标注文字都是XAF中定义的一些对象(类)。

什么是抽像元素?

就是在web/win中并不存在这样的控件,XAF定义了一个类,如:

DetailViewItem (PropertyEditor) ,指的是TextBox,DropDownList这样的控件包装的类,即,由PropertyEditor来生成TextBox.

已经有了一大堆控件了,为什么要再弄个PropertyEditor呢?概念这么多,烦死人了。。。。

原因:web/win/mobile中,使用的textbox实现是不一样的,比如,win中用的是win控件,web中用的是html的input,不能集中控制,即,统一定义。

再比如,我们需要设置某个字段的必填验证,在XAF中的做法是直接在BO(业务对象)上面写[RuleRequiredField],不管是什么类型的属性,都可以这样做。

那么XAF是如何让控件具备验证功能的呢?

答案就是对控件进行一次包装,在包装中,针对每个控件的特性设置该如何验证必填。

以下列表提供了UI元素的摘要信息。

    • Window (窗口)
      他使用Template进行显示UI,它继承了Frame类,目的是可以包含WindowController。
    • Frame
      可以理解成,这是一个视图的容器,一个Frame中只有一个视图,Frame包含了控制器集合,即,这个Frame中将有哪些控制器。可以为Frame设置视图。
    • Template(模板)
      是指最终界面的模板,通常在模块中制定了具体的控件,如,XAF win中有ribbon为主要控件的模板,也有普通的toolbar形式的。
    • View(视图)
      当前XAF中视图主要有三种:
      • DetailView,即用于新增、编辑数据的,显示属性对应着一个控件的。
      • ListView,用于展示多条数据的,有Grid,树,日历等形式。
      • DashboardView,形式上比较类似于DetailView,但它的功能是将多个视图组合到一个视图中去,比如,两个detailview在一起显示。当然,数量是不限的。  
    • ViewItem (视图项目)
      ViewItem是指一个小控件,如TextBox,DropDownList等。当然,一个Excel表格编辑控件很大,但它也可以是视图,但它只应用于DetailView和DashboardView中,用于修改某个业务对象的某个属性值。
    • Action(按钮)
      界面上的那些按钮的抽象,这里面只管写逻辑,如:点击一个按钮要干什么事,可以做数据操作,也可以做界面操作,如,弹出一个对话框,显示一个视图,或,保存数据的修改。
    • ActionContainer
      按钮容器,即,按钮要在这里显示出来。
时间: 2024-10-11 15:55:54

XAF-UI元素概述的相关文章

Kendo UI 模板概述

Kendo UI 模板概述 Kendo UI 框架提供了一个易用,高性能的 JavaScript 模板引擎.通过模板可以创建一个 HTML 片段然后可以和 JavaScript 数据合并成最终的 HTML 元素. Kendo 模板侧重于 UI 显示,支持关键的模板功能,着重于性能而不是语法上的方便. 模板语法 Kendo 模板使用了一种称为"#"的语法形式,使用这种语法,#用来表明模板中的某个部分可以使用 JavaScript 数据来替代. 用三种方式使用 # 语法: 显示字面量 #=

[WPF自定义控件]?Window(窗体)的UI元素及行为

原文:[WPF自定义控件]?Window(窗体)的UI元素及行为 1. 前言 本来打算写一篇<自定义Window>的文章,但写着写着发觉内容太多,所以还是把使用WindowChrome自定义Window需要用到的部分基础知识独立出来,于是就形成了这篇文章. 无论是桌面编程还是日常使用,Window(窗体)都是最常接触的UI元素之一,既然Window这么重要那么多了解一些也没有坏处. 2.标准Window 这篇文章主要讨论标准的Window,不包括奇形怪状的无边框.非矩形Window,即只讨论W

Magento2 UI components概述

来源:宝鸡SEO UI components 概述Magento UI components 是用来展示不同的UI元素,比如表,按钮,对话框等.他们被用于简单灵活的交互界面渲染.Components被用来渲染结果界面,提供进一步的与javascript组件和服务器的交互.Magento UI components被实现为一个标准的模块叫Magento_UI.想要在你的模块里面使用UI Components,你需要在你的composer.json文件里面添加对Magento_UI的依赖.以下XSD

WPF中异步更新UI元素

XAML 界面很简单,只有一个按钮和一个lable元素,要实现点击button时,lable的内容从0开始自动递增. <Grid> <Label Name="lable_plus" Content="0"/> <Button Content="Button" Click="button_Click" Height="23" Name="button" Wid

CSharpGL(6)在OpenGL中绘制UI元素

CSharpGL(6)在OpenGL中绘制UI元素 主要内容 学习使用IUILayout接口及其机制,以实现在OpenGL中绘制UI元素. 以SimpleUIAxis为例演示如何使用IUILayout. 下载 您可以在(https://github.com/bitzhuwei/CSharpGL)找到最新的源码.欢迎感兴趣的同学fork之. 什么是OpenGL中的UI元素 您可以在源码中找到SimpleUIAxis这一示例. 如上图所示,有5个坐标轴,中间那个是一个普通的三维模型(元素),作为对照

css 选择器 &amp; UI元素的伪类选择器 &amp; 伪元素选择器

UI元素的伪类选择器 1. :focus  用来选取获取焦点事件 2. :enabled 用来指定当元素处于可用状态时的样式 3. :disable  用来指定元素处于不可用时的状态    表单里应用较多 4. read-only 用来获取元素属于只读状态时 5. read-write 用来匹配可读和可写的元素  input search 6. :checked  用来获取单选框处于选取状态时的样式 7. :default 选取用来选取,打开时默认选取状态时单选框 8.     :indeter

巧用Drawable 实现Android UI 元素间距效果

源文地址: 巧用Drawable 实现Android UI 元素间距效果 在大部分的移动UI或者Web UI都是基于网格概念而设计的.这种网格一般都是有一些对其的方块组成.然后它们组合成为一个块. 使用网格这种设计原则能够有助于对齐UI元素,提升UI的一致性,同一时候还能让用户更加easy的获取UI上面包括的内容. 简而言之.网格是一个相当的强大的设计工具. 开发人员在使用网格设计原则的时候须要在UI 元素之间加入一些额外的间距,比方padding.margin或者spacing(依据你的设计方

【Win 10 应用开发】打印UI元素

原文:[Win 10 应用开发]打印UI元素 Windows App支持将UI界面进行打印的功能,这与浏览器中的打印网页的用途相近,其好处就是“所见即所得”,直接把界面上呈现的内容打印下来,比重新创建打印图像方便得多. 要在通用App中实现打印,主要依靠以下几个类型: PrintManager:位于Windows.Graphics.Printing命名空间,主要负责显示打印对话框,设置打印源等操作.在使用时,首先调用GetForCurrentView静态方法得到一个PrintManager实例:

layman的自动化UI元素查找

对于自动化,我暂时还是个layman,最近在写自动化case时,没有系统学习UI元素的取法,边用边学积累了. 一.习惯通过CssSelector查找 不同层级的class标签,使用'>'连接取元素 如果同一级class有多个,且无法通过.class的方式获取,比如需要获取的层级的class name中间有空格,无法表示当前层级.则使用,层级标签:nth-of-type(n),n从1开始,将其看做一个list,表示list中的第n个层级. 举例如下: html 元素: 最终获取元素的方式: div