XAF (eXpressApp Framework) özel bir property editor yapmak

XAF (eXpressApp Framework) özel bir property editor yapmak için aşağıdaki adımları izlemelisiniz:

  1. XAF projesinde bir class oluşturun ve IPropertyEditor interface’ini implement edin.
  2. Oluşturduğunuz class’ın “EditorTypeName” attribute’unu kullanarak XAF’in hangi değerleri düzenlemek için kullanacağını belirtin.
  3. PropertyEditor’un “EditValue” property’sini override edin ve kullanıcının girdiği değerleri nasıl işleyeceğinizi tanımlayın.
  4. PropertyEditor’un “CreateControl” metodunu override edin ve kullanıcının değerleri girebileceği bir kontrol oluşturun.
  5. PropertyEditor’u XAF projesine ekleyin ve “Model Editor” aracını kullanarak gerekli class ve property’ler için özel düzenleyiciyi belirleyin.

Aşağıda bir örnek XAF özel bir property editor oluşturma kodu veriyorum:

using DevExpress.ExpressApp.Editors;
using DevExpress.ExpressApp.Model;
using DevExpress.ExpressApp.Win.Editors;
using DevExpress.XtraEditors;
using System.ComponentModel;

[PropertyEditor(typeof(string), "MyCustomEditor", false)]
public class MyCustomEditor : WinPropertyEditor, IComplexViewItem, IPropertyEditor
{
    private TextEdit textEdit;

    public MyCustomEditor(Type objectType, IModelMemberViewItem model) : base(objectType, model) { }

    public override object EditValue
    {
        get => textEdit.Text;
        set => textEdit.Text = (string)value;
    }

    public override void Setup(IObjectSpace objectSpace, XafApplication application)
    {
        base.Setup(objectSpace, application);
        textEdit = new TextEdit();
    }

    public override void BreakLinksToControls()
    {
        base.BreakLinksToControls();
        textEdit = null;
    }

    public override void CreateControls()
    {
        base.CreateControls();
        textEdit.Properties.MaxLength = 50;
        textEdit.Properties.ReadOnly = !AllowEdit;
        Control = textEdit;
    }

    public override bool IsCaptionVisible => true;
}

Bu örnekte, “MyCustomEditor” adlı bir property editor oluşturuldu ve string tipindeki değerleri düzenlemek için kullanılması belirlendi. EditValue property’si kullanıcının girdiği değerleri alır ve textEdit nesnesine atar. Setup metodu kullanıcının girdiği değerleri alabileceği bir TextEdit nesnesi oluşturur. CreateControls metodu ise oluşturulan TextEdit nesnesini kullanıcıya göstermek için kullanılır. Bu örnekte, kullanıcının girebileceği maksimum karakter sayısı 50 olarak belirlenmiştir ve EditValue property’si readonly ise kullanıcının değerleri değiştiremeyecektir.

Not: Bu örnek sadece bir fikir vermek için verilmiştir ve uygulamanıza göre değişebilir.

Bir yanıt yazın