












User Interface Process 中文使用手册
使用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进行开发时,要用到几个重要的元素:
(一) 自定义控制类:必须建立一个从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=1.0.1.0,Culture=neutral,PublicKeyToken=null" />
</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>
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。