程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> ckrule規則編輯器在wpf中的使用,ckrulewpf

ckrule規則編輯器在wpf中的使用,ckrulewpf

編輯:C#入門知識

ckrule規則編輯器在wpf中的使用,ckrulewpf


 當前,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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved