我将Dev Express
XAF
与Entity framework
一起使用。
我希望能够指定我的Description
字段使用属性编辑器DevExpress.ExpressApp.HtmlPropertyEditor.Win.HtmlPropertyEditor
我可以通过在涉及该字段的视图中的model.xafml
内设置属性编辑器来完成此操作。但是我更愿意只在business
对象中设置一次作为属性。
有办法做到这一点吗?
答案 0 :(得分:1)
DevExpress知识库解释了如何在此处实现此目的:KA18907。见2.2和2.3节。
如果您的业务对象在与编辑器相同的模块中声明,那么您可以这样做:
//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); }
}
}
否则,请改用EditorAlias
属性。
public class BusinessObject : BaseObject {
...
[EditorAlias("CustomStringEdit")]
public string Description {
get { return GetPropertyValue<string>("Description"); }
set { SetPropertyValue<string>("Description", value); }
}
}
并在编辑器中设置相同的字符串标识符。 (这允许为不同的编辑器指定单独的Web和Win模块)。
[PropertyEditor(typeof(String), "CustomStringEdit", false)]
public class CustomStringEditor : StringPropertyEditor {
public CustomStringEditor(Type objectType, IModelMemberViewItem info)
: base(objectType, info) { }
...
}