第一种:ViewController继承WindowController

 public abstract class MyWindowController : WindowController
{
public MyWindowController()
{
      InitializeComponent();
}
protected override void OnActivated()
{
base.OnActivated();
DevExpress.ExpressApp.SystemModule.ShowNavigationItemController svc =
Frame.GetController<DevExpress.ExpressApp.SystemModule.ShowNavigationItemController>();
SingleChoiceAction action = svc.ShowNavigationItemAction;
ChoiceActionItem toSelect = action.FindItemByIdPath("菜单路径");
if (toSelect == null)
{
XtraMessageBox.Show("未找到XX的菜单", GlobalConst.SystemTitle);
}
else
{
action.DoExecute(toSelect);
}
}
}

第二种方式:ViewController不继承WindowController

 public partial class MyViewController: ViewController
{
public MyViewController()
{
      InitializeComponent();
}
protected override void OnActivated()
{
base.OnActivated();
DevExpress.ExpressApp.SystemModule.ShowNavigationItemController svc =
Application.MainWindow.GetController<DevExpress.ExpressApp.SystemModule.ShowNavigationItemController>();
SingleChoiceAction action = svc.ShowNavigationItemAction;
ChoiceActionItem toSelect = action.FindItemByIdPath("菜单路径");
if (toSelect == null)
{
XtraMessageBox.Show("未找到XX的菜单", GlobalConst.SystemTitle);
}
else
{
action.DoExecute(toSelect);
}
}
}

两者的区别就是一个通过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. 在AspNetCore3.0中使用Autofac

    1. 引入Nuget包 Autofac Autofac.Extensions.DependencyInjection 2. 修改Program.cs 将默认ServiceProviderFactory ...

  2. 用Ajax请求后台数据

    我们先不讲ajax的原理,还是先以实战为主,看一下这个东西到底怎么用的? form表单: <%@ page language="java" contentType=" ...

  3. Js 之移动端图片上传插件mbUploadify

    一.下载 https://pan.baidu.com/s/1NEL4tkHoK4ydqdMi_hgWcw 提取码:vx7e 二.Demo示例 <div class="weui_uplo ...

  4. CentOS8安装Python3

    安装CentOS8 如果使用vmware player安装CentOS8,会出现如下选项 其中Software Selection默认为带有GUI版本,即安装完成之后,带有图形界面,我本人不太喜欢使用 ...

  5. poj1734

    Sightseeing trip Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9078   Accepted: 3380 ...

  6. word里快捷输入分割线

  7. Web前端学习笔记——Canvas

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8 ...

  8. 008-多线程-锁-JUC锁-CyclicBarrier【让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续运行】

    一.概述 “循环栅栏”.大概的意思就是一个可循环利用的屏障. CyclicBarrier是一个同步辅助类,允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point).因 ...

  9. c# 线程异步处理

    public class AsyncHelper { private static readonly TaskFactory _myTaskFactory = new TaskFactory(Canc ...

  10. 阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_6.RabbitMQ研究-入门程序-消费者

    我们在consumer这个功能下进行代码的编写 首先是新建这个层级的包 创建入门程序的消费者 消费者也需要和mq建立通道.建立连接创建通道 在顶部都声明这个队列 下面写核心代码监听队列.basicCo ...