C# WFP中动态菜单的加载

这篇博客探讨了在Windows Presentation Foundation (WPF)中动态加载菜单的罕见话题。作者指出,虽然在Windows Forms中有很多关于动态菜单的资源,但在WPF中找到的相关资料较少。文章介绍了如何在WPF的Menu控件中实现类似的功能,该控件支持无限级别的展开。文中还提到了从Windows Forms的MenuStrip控件转换到WPF Menu控件时遇到的问题和挑战。
摘要由CSDN通过智能技术生成

        C#在普通Windows form程序中动态加载菜单的文章很多,但搜了半天发现WPF中动态菜单项目的介绍很少。是不是我 的想法很奇怪呢?呵呵,不管了,记录一下实现过程。

       

        private void MainFrm_Load(object sender, EventArgs e)
        {
            LoadAllPlugs();  //加载所有组件
            LoadAllMenus();  //加载菜单
        }

        //加载主菜单函数
        private void SetMenu(MenuStrip mMain, string mName)
        {
            try
            {
                string strSql;
                int i;
                IDBOperator db = DBOperator.GetInstance();
                strSql = "SELECT * FROM SYS_Plugsins WHERE FStatus='1' And FParentNo='" + mName + "' Order by FMenuSequence";

                DataTable dt = new DataTable();
                dt = db.ReturnDataTable(strSql);
                if (dt.Rows.Count > 0)
                {
                    for (i = 0; i < dt.Rows.Count; i++)
                    {
                        if (dt.Rows[i]["FParentNo"].ToString() == "0")
                        {
                            ToolStripMenuItem mItem;
                            mItem = new ToolStripMenuItem(dt.Rows[i]["FMenuText"].ToString());
                            mItem.Name = dt.Rows[i]["FMenuName"].ToString();
                            mItem.AccessibleDescription = dt.Rows[i]["FPlugsins"].ToString(); //借用这个属性
                            mMain.Items.Add(mItem);
                 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值