惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
J
Java Code Geeks
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Engineering at Meta
Engineering at Meta
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
小众软件
小众软件
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
月光博客
月光博客
Last Week in AI
Last Week in AI
博客园_首页
I
InfoQ
T
Tailwind CSS Blog
爱范儿
爱范儿
雷峰网
雷峰网
Recent Announcements
Recent Announcements
F
Fortinet All Blogs
B
Blog
WordPress大学
WordPress大学
A
About on SuperTechFans
V
Visual Studio Blog
有赞技术团队
有赞技术团队
P
Proofpoint News Feed

博客园 - 蜗牛的天空

技术 - 蜗牛的天空 - 博客园 Decomposing a matrix(用于分解变换矩阵至旋转、平移,缩放分量) Visual C#.Net 网络程序开发-Socket篇 关于Smart Client更新的极难问题 User Interface Process 中文使用手册(三)(本程序代码是在.Net2005开发的) - 蜗牛的天空 User Interface Process 中文使用手册(二) C# Socket编程 C#.Net网络程序开发-Socket篇 学习NET遇到的问题 一个常见的数据库连接的问题???????????? - 蜗牛的天空 - 博客园 命令行环境学习C#指南 问题:救命呀 Windows 服务应用程序 程序集 将 Web 窗体页转换为用户控件 Page属性解释 向 Web 窗体页的“HTML”视图添加用户控件 使用 Visual C# 创作用户控件 在 Web 应用程序中使用 SQL Server
User Interface Process 中文使用手册(一)
蜗牛的天空 · 2006-03-14 · via 博客园 - 蜗牛的天空

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=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

        navigateValuenavigateValue指定的值时跳转到navigateTo所指定的视图

        />

     </sharedTransitions>

     <navigationGraph>

            startView=""启动后的第一个视图

            iViewManager="" 指定视图管理的类(选择在objectTypes定义的iViewManager中的name)

            name="" navigationGraph的名字,UIPManager.StartNavigationTask()时用到

            state=""指定状态管理类 (选择在objectTypes定义的state中的name)

            statePersist=""指定状态保存类(选择在objectTypes定义的statePersistenceProvider中的name) >

                . . .定义普通视图跳转

             <node view指定当前窗体>

               navigateValue

                  navigateTo

                navigateValuenavigateValue指定的值时跳转到navigateTo所指定的视图

            </node>

     </navigationGraph>

  </uipConfiguration>