第一种:ViewController继承WindowController

  1. public abstract class MyWindowController : WindowController
  2. {
  3. public MyWindowController()
  4. {
  5.       InitializeComponent();
  6. }
  7. protected override void OnActivated()
  8. {
  9. base.OnActivated();
  10. DevExpress.ExpressApp.SystemModule.ShowNavigationItemController svc =
  11. Frame.GetController<DevExpress.ExpressApp.SystemModule.ShowNavigationItemController>();
  12. SingleChoiceAction action = svc.ShowNavigationItemAction;
  13. ChoiceActionItem toSelect = action.FindItemByIdPath("菜单路径");
  14. if (toSelect == null)
  15. {
  16. XtraMessageBox.Show("未找到XX的菜单", GlobalConst.SystemTitle);
  17. }
  18. else
  19. {
  20. action.DoExecute(toSelect);
  21. }
  22. }
  23. }

第二种方式:ViewController不继承WindowController

  1. public partial class MyViewController: ViewController
  2. {
  3. public MyViewController()
  4. {
  5.       InitializeComponent();
  6. }
  7. protected override void OnActivated()
  8. {
  9. base.OnActivated();
  10. DevExpress.ExpressApp.SystemModule.ShowNavigationItemController svc =
  11. Application.MainWindow.GetController<DevExpress.ExpressApp.SystemModule.ShowNavigationItemController>();
  12. SingleChoiceAction action = svc.ShowNavigationItemAction;
  13. ChoiceActionItem toSelect = action.FindItemByIdPath("菜单路径");
  14. if (toSelect == null)
  15. {
  16. XtraMessageBox.Show("未找到XX的菜单", GlobalConst.SystemTitle);
  17. }
  18. else
  19. {
  20. action.DoExecute(toSelect);
  21. }
  22. }
  23. }

两者的区别就是一个通过Frame获取ShowNavigationItemController对象,另一个通过Application.MainWindow获取ShowNavigationItemController对象。

Devexpress xaf用代码打开菜单(Navigation Item)的更多相关文章

  1. Xcode6 storyboard new push segue 后的视图控制器没有navigation item bug.

    手动切一下 老的push,再切回来,就会出有了,我想是一个bug. Xcode 6 Segue with UINavigationItem up vote0down votefavorite   I' ...

  2. devexpress xaf 开发中遇到的问题.

    devexpress xaf 开发中遇到的问题很多久了就忘记了.每天都把开发内容记录下来,方便大家,方便自己

  3. DevExpress打印通用代码

    DevExpress打印相关代码 using System;using System.Windows.Forms;using DevExpress.XtraPrinting;using System. ...

  4. Devexpress xaf针对某个用户登录后在面板中设置导航无效的解决方法

    Devexpress xaf框架生成的项目默认情况下导航栏是显示在左侧,有时候我们用某个账户登录后,发现导航栏无法显示在左侧,操作十分不方便.我们可以去数据库删除当前登录用户的自定义布局 解决方法如下 ...

  5. DevExpress学习笔记之如何获取Repository Item的值

    上一章我们看到了如何在TreeList的单元格中动态绑定不同的控件,此类控件被称为In_Place Control.所谓“In_Place”,我的理解为“内置”控件,既然有“内”就相对的会有“外”,其 ...

  6. 【重构】AndroidStudio中代码重构菜单Refactor功能详解

    代码重构几乎是每个程序员在软件开发中必须要不断去做的事情,以此来不断提高代码的质量.Android Stido(以下简称AS)以其强大的功能,成为当下Android开发工程师最受欢迎的开发工具,也是A ...

  7. 用代码打开FORM里面用到的数据源

    修改动态报表的时候,尝尝需要根据当前设计里指定的数据源,然后打开AOT去查找,相当的不方便. 于是产生写了一个方法,可以根据传过来的数据源名,去AOT找到TABLE或者VIEW, 直接打开,以便修改. ...

  8. Devexpress 汉化 代码 zt

    将一下代码放到需要汉化的窗体Load事件中 解压汉化初丁文件 /// <summary> /// 汉化DX控件 /// </summary> private void Chin ...

  9. 将Editplus添加到右键打开菜单

    因为自己一直用Editplus作为文本打开工具,新的电脑将压缩文件复制了过来,但是没有右键打开了. 第一打开注册表 在命令框中输入regedit 第二在注册表中输入选项 如下图所示在下拉菜单中新建Ed ...

随机推荐

  1. python线程+队列(queue)

    ---恢复内容开始--- python的线程学习 用处 pocpiliang脚本的编写 函数式:调用 _thread 模块中的start_new_thread()函数来产生新线程.语法如下: _thr ...

  2. go语言规范之方法集

    Go语言规范里定义的方法集的规则 Values Methods Receivers ----------------------------------------------- T (t T) *T ...

  3. varnish web cache服务

    varnish介绍 缓存开源解决方案: - varnish - 充分利用epoll机制(能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率),并发量大,单连接资源较轻 - squid ...

  4. hbase部署经验与坑总结

    1.本地单机部署hbase,想要使用独立zookeeper,不使用自带的 vim conf/hbase-env.sh export HBASE_MANAGES_ZK=false 设置不使用自带zook ...

  5. mysql数据库学习二

    最近又复习了mysql中的一些概念:视图,触发器,存储过程,函数,事务,记录下. 1.视图 视图是一个虚拟表,本身并不存储数据,当sql在操作视图时所有数据都是从其他表中查出来的,因此其本质是:根据S ...

  6. 性能分析 | Java进程CPU占用高导致的网页请求超时的故障排查

    一.发现问题的系统检查: 一个管理平台门户网页进统计页面提示请求超时,随进服务器操作系统检查load average超过4负载很大,PID为7163的进程占用到了800%多. 二.定位故障 根据这种故 ...

  7. vue问题五:element ui组件的开始时间-结束时间验证

    <el-date-picker v-model="seach.before" type="date" placeholder="开始时间&quo ...

  8. vim 快捷键 清空文件所有内容

    vim清空文件所有内容 在使用vim编辑器的时候,有时候编辑一个文件,而文件内容比较多,如果需要快速清空整个文件,可以使用一下命令: 在命令模式下,首先执行 gg 这里是跳至文件首行 再执行: dG ...

  9. 19.网络插件calico

    19.网络插件calico 官网: https://docs.projectcalico.org/v3.8/introduction/ calico默认工作在192.168.0.0/16 的网络 ca ...

  10. 阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_2.RabbitMQ研究-RabbitMQ介绍

    开发中消息队列通常有如下应用场景: 1.任务异步处理. 将不需要同步处理的并且耗时长的操作由消息队列通知消息接收方进行异步处理.提高了应用程序的响应时间. 2.应用程序解耦合 MQ相当于一个中介,生产 ...