User Interface Process 中文使用手册
一、 准备编译UIP Application Block
使用UIP Application Block开发系统,对系统最小的配置如下
1. Microsoft Windows XP or Windows Server 2003
2. Microsoft.Net Framework version 1.1 , Microsoft.Net Framework version 2.0
3. Microsoft Visual Studio .Net 2003 Enterprise Architect , Enterprise Developer or .NET Professional edition development system, Microsoft Visual Studio .Net 2005 Enterprise Architect, Enterprise Developer or .NET Professional edition development system
4. 如果是创建Web Application的时候,必须要安装IIS version 5.0或者更高的版本
二、 用UIP Application 开发程序
当使用UIP Application进行开发时,要用到几个重要的元素:
(一) 自定义控制类:必须建立一个从ControlletBase继承下来的类用于支持这个程序块.
(二) 主要的功能是用于实现在程序中不同View的跳转.(必须继承ControllerBase的构造方法) 单元文件:APMControl.cs
(三) 视图(一般为窗体):建立的Window 窗体必须从WindowsFormView继承, Web 窗体必须从WebFormView继承
单元文件:frmcomm.cs,frmMainMenu.cs,frmMenu.cs,frmSuccess.cs
(四) 状态类:用于存储一些程序中的状态
(五) 配置文件:用于定义状态管理的类,控制类,视图类,以及视图间跳转,预定义
文件:App.config
如果你要使用UIP Application block 建立一个解决方案的话,一般使用如下流程
(一) 对工程文件进行分层
(二) 选择一种跳转的框架
(三) 选择状态管理的方式
(四) 编译UIP Application Block,并引用到当前工程中
(五) 创建控制类
1. 构造函数必须接收一个navigator的参数,在这个构造函数中必须呼叫基类的构造函数比如:public myController(Navigator navigator): base(nabigator)具体请看(APMControl.cs)
2. 整个控制流的流程的实现一般都是在这个类中进行的,跳转的调用有两种方式
1) 直接跳转:Navigate("AddedData").其中AddedData指的是下一个View的别名(在配置文件中定义)
2) 间接跳转:
public void GotoForm(string Value)
{
this.Navigator.CurrentState.NavigateValue = Value;
Navigate();
}
实现一个过程,在窗体中进行调用NavigateValue指的是下一个View的别名 具体请看APMControl.cs
(六) 创建任务,以及任务在程序各个阶段的状态
任务:一般是指导用户按照一定的流程做一些事情而定义的.可以用UIPManager类 来定义一下任务. (具体实现看源码Start.cs)
(七) 创建视图(窗体)
1. 如果创建Window 窗体,要继承WindowsFormView
2. 如果创建Web 窗体,要继承WebFormView
3. 如果创建UserControl(自定义控件),要继承WindowsFormControlView
4. 取得当前窗体的控制流
private APMControl FormControl
{
get
{
return (APMControl)Controller;
}
}
在当前窗体中就可以调用控制流中的方法
具体请看(:frmcomm.cs,frmMainMenu.cs,frmMenu.cs,frmSuccess.cs)
(八) 创建应用程序配置文件
应用程序配置文件是以XML的形式存在的(具体请看App.config)
1. 在configration域中增加uipConfiguratiion Section
这个section用于视图的控制管理,状态的管理,控制流程的管理,以前视图对用户
是否有效,以及视图的路径所用节点的属性以及子节点的结构在
UIPCongifSchema.xsd中.
<configSections>
<sectionname="uipConfiguration"
type="Microsoft.ApplicationBlocks.UIProcess.UIPConfigHandler,
Microsoft.ApplicationBlocks.UIProcess,
Version=
</configSections>
2. 定义uipConfiguratiion元素
<uipConfiguration>
<objectTypes>
. . .定义在工程中管理和控制User Interface Process的类
<iViewManager . . . 定义管理视图的显示和隐藏的类/>
<state . . . 定义管理控制状态的类/>
<controller . . . 定义控制类/>
<layoutManager . . . 定义布局类/>
<statePersistenceProvider . . .定义状态保存实现方式的类 />
以上节点都有name 和 type属性
name:在配置文件和工程中用的类别名
type:所要定义的类名,以及版本号,语言,公钥
</objectTypes>
<views>
. . .定义视图
<view>
. . .定义视图
属性:
name:定义跳转时用到的视图别名
type:所要定义的类名,以及版本号,语言,公钥
controller:指定控制类(选择在objectTypes定义的controller中的name)
layoutManager:指定布局类(选择在objectTypes定义的layoutManager中的name)
stayOpen:当用户离开窗体时, 是否仍然保持窗体是打开状态!
openModal:是否将窗体设置为ShowModal状态,如果 openModal= true,
则stayOpen必须为false
</view>
</views>
<sharedTransitions>
. . .定义公共的视图跳转
<sharedTransition
navigateValue
navigateTo
当navigateValue为navigateValue指定的值时跳转到navigateTo所指定的视图
/>
</sharedTransitions>
<navigationGraph>
startView=""启动后的第一个视图
iViewManager="" 指定视图管理的类(选择在objectTypes定义的iViewManager中的name)
name="" navigationGraph的名字,在UIPManager.StartNavigationTask()时用到
state=""指定状态管理类 (选择在objectTypes定义的state中的name)
statePersist=""指定状态保存类(选择在objectTypes定义的statePersistenceProvider中的name) >
. . .定义普通视图跳转
<node view指定当前窗体>
navigateValue
navigateTo
当navigateValue为navigateValue指定的值时跳转到navigateTo所指定的视图
</node>
</navigationGraph>
</uipConfiguration>
浙公网安备 33010602011771号