ckrule规则编辑器在wpf中的使用

 当前,ckrule的IDE和业务管理系统都是由winform开发的,规则编辑器也只提供了winform的版本,所以很多的朋友都提出意见,要有wpf的版本。wpf的界面设置和管理都更加的方便。

事实上可以在wpf中使用ckrule规则编辑器的,使用的方法如下:
 
    1,在wpf项目中引入windowsform集成的相关dll。
    包含2个dll,分别是System.Windows.Forms.dll和WindowsFormsIntegration.dll

 
    2,引入WindowsFormsHost控件
    为了更方便控制界面部署,可以在控件中增加windowsform的panel。
<Window x:Class="RuleEditorWpfApplication1.MainWindow"
        xmlns=" http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x=" http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:wfi ="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
        xmlns:wf ="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
        Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded">
    <Grid>
        <WindowsFormsHost Height="350" HorizontalAlignment="Left" Margin="5,5,0,0" Name="windowsFormsHost1" VerticalAlignment="Top" Width="486">
            <wf:Panel x:Name="pnlMain" Dock="Fill" Width="486" Height="350" />
        </WindowsFormsHost>
    </Grid>
</Window>
 
    3,加载ckrule规则编辑器控件
    把规则文件放到ckruleAdmin目录下,并在程序中显式调用。
    public partial class MainWindow : Window
    {
        public const string RuleInstName = "人力-工资计算-口语公式";
        RuleEditorFacade _editorFacade = new RuleEditorFacade();
 
        public MainWindow()
        {
            InitializeComponent();
        }
 
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            var _curPackage = new RuleFacade().GetPkgInst(RuleInstName);
            if (_curPackage == null)
            {
                MessageBox.Show("加载规则包失败");
                return;
            }
            var _ctrl = _editorFacade.GetEditor(_curPackage);
            _ctrl.Dock = System.Windows.Forms.DockStyle.Fill;
            pnlMain.Controls.Add(_ctrl);
            var _propset = new CustUnstructPropDef();
            _propset.CodeStyle = CodeStyleDef.IfElseStyle;
            _editorFacade.LoadData(_propset);
        }
    }
 
    4,界面演示
    可以看到wpf的界面显示出规则编辑器。

 
    综述
 
    ckrule都是使用winform技术编写的,很多朋友都对界面系统提出了宝贵的意见,ckrule技术团队也深知界面优化的重要性,但目前更多的精力都集中在内部逻辑的处理和升级中,我们一直认为内部逻辑的处理是规则引擎的重中之重,同时也深刻接受网友的指点批评。目前,我们建议技术管理员或实施人员维护规则,而真要直接提供给客户使用时,就购买业务管理系统(BRMS)的系统,在些系统上进行界面优化和调整,毕竟ckrule在重点在于规则处理,而定制化各个客户界面,不是我们的工作重点。
 
   源代码下载
http://pan.baidu.com/s/1qWofwYS   ckrule使用例子->规则编辑器例子.zip

转载于:https://www.cnblogs.com/fubeibei/p/4309798.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件名称:CKRule规则引擎V1.0.9 *注意:请填写软件名称+ 有无插件:无插件 界面语言:多国语言 软件类型:国产软件 授权方式:免费版 软件等级: 软件大小:980 K 官方网址:http://www.ckrule.com/uploadfiles/CKRule1.0.9.zip 软件界面图:http://www.ckrule.com/Doc/cn/Files/sys.png 隶属栏目:编程开发 运行环境:win xp/win2003/win7/win8/win2008 标签 TAG:.Net规则引擎,业务规则管理 软件简介: CKRule是一个业务规则管理和复合事件处理的综合性引擎,可以将企业管理策略的定义,部署,管理和维护工作从核心代码分离。 企业将深入的业务决策整合到程序,并把市场变化因素以业务规则的形式进行更新。而CKRule可大大降低程序维护的成本,促进业务程序实现更多准确和有效的商务决策。 【软件特点】 1, 允许决策逻辑独立于核心程序代码。 2, 允许技术开发员和业务专家共同定义和管理决策逻辑。 3, 能够在程序运行时,允许程序执行决策逻辑管理,提供规则编辑器和运行引擎。 4, 使用纯.Net CSharp开发,提供丰富API并允许使用所有.Net API,调用.Net类,方法,实现接口。 【软件功能】 【决策表】使用CKRule决策表,你可以使用表格的形式,非常直观地创建大量的规则。 【决策树】决策树表现形式相对简单、形象和生动,常常用于工作。 【客户规则池】在客户规则池功能CKRule提供了各种各样的接口或控件,供业务系统使用,但CKRule对用户是透明的,用户始终是在使用业务系统。 【口语式编辑器】口语式编辑器可以在CKRule内部及客户规则被调用,正如其名,其语法与口语表达基本相同。 与标准编辑器相比,口语式编辑器有大量的提示,这使规则编写变得非常容易,会使用Word就会使用口语式编辑器,无需任何技术基础,一学即会。 【间件】 CKRule是一个规则引擎,是一个优秀的间件,使用之后可以大大减少了底层代码的变动。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值