當前,ckrule的IDE和業務管理系統都是由winform開發的,規則編輯器也只提供了winform的版本,所以很多的朋友都提出意見,要有wpf的版本。wpf的界面設置和管理都更加的方便。
事實上可以在wpf中使用ckrule規則編輯器的,使用的方法如下: 1,在wpf項目中引入windowsform集成的相關dll。 包含2個dll,分別是System.Windows.Forms.dll和WindowsFormsIntegration.dll
2,引入WindowsFormsHost控件 為了更方便控制界面部署,可以在控件中增加windowsform的panel。<Windowx:Class="RuleEditorWpfapplication1.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/ 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新聞熱點
疑難解答