Die DevExpress-Wissensdatenbank erläutert, wie Sie dies hier erreichen: KA18907. Siehe Abschnitt 2.2 und 2.3.
Wenn Ihr Business-Objekt im selben Modul als Editor deklariert wird, dann können Sie dies tun:
//Class declared in a WinForms module, for example
public class BusinessObject : BaseObject {
...
[ModelDefault("PropertyEditorType", "SampleSolution.Module.Win.PropertyEditors.CustomStringEditor")]
public string Description {
get { return GetPropertyValue<string>("Description"); }
set { SetPropertyValue<string>("Description", value); }
}
}
Andernfalls verwenden Sie das Attribut EditorAlias
statt.
public class BusinessObject : BaseObject {
...
[EditorAlias("CustomStringEdit")]
public string Description {
get { return GetPropertyValue<string>("Description"); }
set { SetPropertyValue<string>("Description", value); }
}
}
und setzen Sie die gleiche Zeichenfolge in Ihrem Editor. (Dadurch können verschiedene Editoren separate Web- und Win-Module angeben).
[PropertyEditor(typeof(String), "CustomStringEdit", false)]
public class CustomStringEditor : StringPropertyEditor {
public CustomStringEditor(Type objectType, IModelMemberViewItem info)
: base(objectType, info) { }
...
}
Ich habe das Business-Objekt im plattformunabhängigen Modul deklariert. Ich brauche es dort, weil dies der Entity Framework Context ist. –
Verwenden Sie 'EditorAlias' wie in 2.3 erklärt. – shamp00