ckrule规则编辑器在wpf中的使用_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > ckrule规则编辑器在wpf中的使用

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

 2015/3/2 23:13:55  夫贝贝  程序员俱乐部  我要评论(0)
  • 摘要:当前,ckrule的IDE和业务管理系统都是由winform开发的,规则编辑器也只提供了winform的版本,所以很多的朋友都提出意见,要有wpf的版本。wpf的界面设置和管理都更加的方便。事实上可以在wpf中使用ckrule规则编辑器的,使用的方法如下:1,在wpf项目中引入windowsform集成的相关dll。包含2个dll,分别是System.Windows.Forms.dll和WindowsFormsIntegration.dll2
  • 标签:使用

 当前,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
发表评论
用户名: 匿名