今天的工作:继续看项目MESLight 。
1. 页面的信息:
public GPageInfo previousPageInfo; //前一个页面,如果不存在则为null,用于在关闭当前页面是,Navigate 到前一页面,导航用
public GPageInfo nextPageInfo; //下一个页面,如果不存在则为null,导航用
public GPage page; //当前页面
public string assemblyName; //page的程序集名称
public string typeName; //page的Type (命名空间.类名)
public string strCommand; //打开该page的菜单项或工具栏的Name
2. 工程运行流程: APP-> load mainPage-> pageLoaded()->
logDlg = new UserLogin(App.ServiceAddress);
SetStartPage(logDlg); //内部实现是靠navigate(object b)相当于display或navigate to the content
logDlg.eventLoginPage+=new UserLogin.ServicesLoginEventHand.ServicesLoginHandler(OnLogin);
//增加OnLogin对初始页面的 login进行处理.
在Onlogin中调用了
InitializeMenu(new Uri(@"Menus/mainMenu.xaml", UriKind.Relative));
InitializeStatusBar();
InitializeToolBar();
小注: Onlogin里面的Click="OnLogin" 调用自身的onlogin去验证用户名和密码,如果正确,则触发eventloginpage去执行mainPage 的OnLogin函数。此时mainPage从Onlogin对象拿到了usename,从APP拿到了serviceaddress.
接上,在mainMenu.xaml里面
<s:SMenuItem Name="Administration" Header="{DynamicResource Administration}" Tag="CredentialsManagerClient.dll:CredentialsManagerClient.AdministrationPage">
之下便是与完全进入权限设置的内容,也就是接下来要工作的内容。
3. 与administation相关的内容:
分为四块: User Management, HMI Privileges , Services Privileges, Workflows Management
现在重点要做好User Management的内容。
点击User Management 框,应该会出现Users List 表,这个如何实现?
要实现的内容:
1. 首先基础是要添加一个缓冲表datatable。初始化时要能从服务端读出数据并写在Users List上。
2. 其次要实现对快捷键new record,refresh的支持。
3. 要能回写,实现方法是事件驱动。