在 XAF 框架,一些用來生成一個業務應用程序的信息是在Attribute中指定。您可以將屬性應用到業務類 (或它的成員) 指定驗證規則,指定如何對數據進行顯示、 設置關系類等。本主題提供了有關在何處以及如何可以應用這些屬性的內置 XAF 框架屬性和信息的列表。
Attribute |
說明 |
---|---|
ActionAttribute | 在業務對象上書寫方法,並在方法上面加上這個Attribute,在界面上,會出現一個簡單按鈕或彈出窗口按鈕. |
AppearanceAttribute | 在業務類或方法\屬性上面書寫此Attribute,可以控制相關的外觀控制,比如:控件是否禁用,是否只讀,背景顏色變化,字體,按鈕是否可用等. |
AggregatedAttribute | 在XPCollection<T>類型的屬性上面寫,可以控制主從表結構的業務對是否為聚合關系. 什么聚合?就是主對象與子對象放到一起對應着業務上的一個內容,比如,訂單,訂單明細,這兩個表放到一起才是完整的. |
CalculatedAttribute | 在屬性上面寫,屬性的結果將是計算而來的. |
CalculatedPersistentAliasAttribute | Applied to a business class. Allows you to dynamically configure a persistent alias for the target business class' property. |
CaptionsForBoolValuesAttribute | 在布爾類型的屬性上面寫,可以指定true,false的值顯示為指定的值,比如,換成男/女,真/假,是/否.但不要把這個做為漢化之用. |
CodeRuleAttribute | Applied to a validation rule. Specifies that the rule is intended for a particular business class and does not have a corresponding validation attribute. |
CollectionSourceModeAttribute | Specifies the mode of operation for the Collection Sources created by List Property Editors representing the CollectionSourceModeAttribute's target property. |
CreateInstanceAttribute | Specifies that a Domain Component's target method will create Domain Component instances. |
CreatableItemAttribute | 在BO/DC上面寫,在web下面與win下面不太一樣.可以快速新建菜單上顯示這個BO. |
CriteriaOptionsAttribute | 當使用條件編輯器時,在這里指定一些選項,比如,條件應用到哪個BO上面. |
DataSourceCriteriaAttribute | 可以應用於BO類型的屬性,或XPCollection<T>上面,指定選擇(Link,鏈接)對象時,用什么條件去過濾數據源,比如,有個客戶屬性,選擇客戶時,某一場景中需要顯示出所有年齡在30到50中間的客戶. |
DataSourceCriteriaPropertyAttribute | 與上面的功能相同,但這個條件不是寫死的,是從另一個屬性中讀過來的.這樣可以在那個屬性中動態的接出條件來. |
DataSourcePropertyAttribute | 功能與上面兩個類型,但直接從某個屬性中指定可選擇的數據來源了,更加動態了,不過要考慮性能問題還是少用為好,因為程序員拼出來的數據源,說不准怎么來的. |
DefaultClassOptionsAttribute | 加上這個后,BO就在導航欄上出現了,快速新建按鈕也有了,報表中也會出現,我只觀察到了這么多,這個就是個快捷方式. |
DefaultListViewOptionsAttribute | 在BO上面寫,一些常見的默認列表視圖的控制. |
DelayedAttribute | 在屬性上寫,延遲加載該屬性.官方說是EF用的.但我在xpo中也用過啊! |
DetailViewLayoutAttribute | 在屬性上寫,供在BO上對詳細視圖進行簡單的布局. |
DomainComponentAttribute | 在接口上寫,表明這是一個DC,在非持久化的BO上面寫,表明讓系統生成這個BO的視圖. |
ExpandObjectMembersAttribute | 寫在復雜類型的屬性上面,可以將屬性類型中的屬性展開,在視圖上直接顯示出來.比如,客戶.地址.詳細地址,與詳細地址同級別的還有一堆的屬性,用了這個后就可以一次性的顯示出來了. |
FieldSizeAttribute | 字符型屬性在庫中建立字段時的長度,-1為不限長. |
FileAttachmentAttribute | 應用到類上,表明值是文件類型,需要實現IFileData接口. |
FileTypeFilterAttribute | 在上傳文件時,如何過濾文件名?擴展名? |
FriendlyKeyPropertyAttribute | Specifies a property that is considered an analog of the GUID property to allow the use of more suitable values. |
ImageEditorAttribute | 圖像編輯器的一些設置. |
ImageNameAttribute | 寫在BO上面,設置一個圖標,在列表上,詳細視圖上,都可以看到這個圖標. |
ImagesForBoolValuesAttribute | 寫在布爾型屬性上面,可以指定布爾型值的圖標,比如true用一個對號,false用一個叉叉. |
ImmediatePostDataAttribute | 在web下面有用,寫在屬性上,指示當值發生變化時,是否需要回發到服務端,比如, 總價=單價*數量,那么,單位,數量變化時,總價需要做個計算,那么就要在單價,數量上面加上這個Attribute. |
IndexAttribute | 在屬性上面寫,建表時,建個索引出來,為性能捉想. |
KeyAttribute | 寫在屬性上面,指示這個屬性就是主鍵. |
ListEditorAttribute | 指定要使用的列表控件. |
ListViewFilterAttribute | 給列表內置一些過濾條件,在界面上顯示一個下拉框,一選,就過濾啦. |
LookupEditorModeAttribute | 指示搜索對話框長什么樣子,比如全部顯示在下拉框中,或是彈出個窗口,或是自動,自動是指超過25條(可改)則顯示彈出框.自動會有些性能影響,因為要算當前有多少條數據. |
ModelDefaultAttribute | 在代碼中寫ModelEditor中的默認值,很多東東可以用這個設置了,並且可以替換掉一些前面的屬性,比如本來可以用[XafDisplayName("顯示名")]改為[ModelDefault("Caption","顯示名")].至於Caption這個關鍵字要怎樣知道,可以打開ModelDeditor查看. |
ModelNodesGeneratorAttribute | 自己寫個類,是生成模型的,需要加這個.具體還是需要好幾步的. |
NavigationItemAttribute | 某個BO是否顯示在導航欄中. |
NonCloneableAttribute | 克隆模塊:不允許這個BO克隆. |
NotClonedInfoAttribute | Applied to a business class. Specifies a business class' string property that can hold property values that were not cloned. |
ObjectCaptionFormatAttribute | 指示在詳細視圖中Bo的顯示標題 |
PropertyEditorAttribute | 要使用什么編輯器,默認都是自動的,只有想改變默認時才用這個. |
Attributes from the Validation module: RuleBaseAttribute, RuleCombinationOfPropertiesIsUniqueAttribute, RuleCriteriaAttribute, RuleFromBoolPropertyAttribute, RuleIsReferencedAttribute, RuleObjectExistsAttribute, RuleRangeAttribute, RuleRegularExpressionAttribute, RuleRequiredFieldAttribute, RuleStringComparisonAttribute, RuleUniqueValueAttribute, RuleValueComparisonAttribute. |
這幾個都是做驗證規則用的. RuleCombinationOfPropertiesIsUniqueAttribute 組合唯一,在類上面,指定多個屬性,這些屬性是組合唯一的. RuleCriteriaAttribute, 在類上面,數據必須滿足指定的條件. RuleFromBoolPropertyAttribute, 在布爾型屬性上面,值必須為真. RuleObjectExistsAttribute, 指定的對象必須存在. RuleRangeAttribute, 屬性的值必須在指定的范圍內. RuleRegularExpressionAttribute, 屬性的值必須滿足正則表達式的要求. RuleRequiredFieldAttribute, 屬性是必填的. RuleStringComparisonAttribute, 屬性的值和字符串進行比較. RuleUniqueValueAttribute, 屬性的值必須是唯一的. RuleValueComparisonAttribute.屬性的值和指定的值(另一個屬性)進行比較. |
SearchClassOptionsAttribute | 用於全文檢索的一些選項. |
SearchMemberOptionsAttribute | 也是全文檢索用的,設置哪些字段參與或不參與. |
ToolTipAttribute | 屬性的提示文字. |
ViewItemAttribute | Applied to a custom View Item. Registers a View Item in an application and specifies the type of the Application Model's node used by a custom View Item. |
VisibleInDetailViewAttribute | 屬性在詳細視圖中是否可見 |
VisibleInListViewAttribute | 屬性在列表視圖中是否可見 |
VisibleInLookupListViewAttribute | 屬性在搜索視圖中是否可見. |
VisibleInReportsAttribute | 做報表時是否可以選擇這個BO. |
XafDefaultPropertyAttribute | 默認屬性,在引用類型被用於屬性時,用該引用類的哪個字段做為顯示標題. 比如,訂單中的客戶,選擇完成后,應該顯示客戶姓名,那么[XafDefaultPropety("姓名")]寫在客戶BO上面即可. |
XafDisplayNameAttribute | 指定顯示名稱,比如BO叫Customer,[XafDisplayName("客戶")],寫到BO上面. |
你也可以使用一些屬性是.net 提供的(比如 BrowsableAttribute, DefaultPropertyAttribute DisplayNameAttribute)
下面的列表是在 System.ComponentModel 命名空間下的,在XAF中他們是有效的.
Attribute |
說明 |
備注 |
---|---|---|
BrowsableAttribute | 屬性是否可見,指定為false后,相當於詳細視圖,列表視圖,搜索視圖,都不可見了.就相當於一個快捷方式. | 通常是要隱藏一個屬性時用它. |
DefaultPropertyAttribute | 和XafDefaultPropertyAttribute是一樣的.:
|
|
DescriptionAttribute | 做自定義模塊時會用到.指示模塊的備注信息 | |
DisplayNameAttribute | 與 XafDisplayNameAttribute 相同. |
|
PasswordPropertyTextAttribute | 在字符串屬性上面寫,編輯器就變成了密碼輸入框. |