前文建立的 FirstControl 定義了 TextAlignment 屬性,並標註了兩個屬性:
[Category("Alignment"), Description("Specifies the alignment of text.")]
public ContentAlignment TextAlignment { ... }
這兩個屬性決定了屬性在設計器中的分類與說明顯示。掌握設計時屬性是開發專業控件的基石。
| 屬性 | 用途 |
|---|---|
BrowsableAttribute | 控制屬性/事件是否顯示在屬性瀏覽器 |
CategoryAttribute | 指定屬性分類,屬性瀏覽器按分類分組 |
DescriptionAttribute | 屬性選中時在瀏覽器底部顯示說明文字 |
BindableAttribute | 指示屬性是否傾向於資料繫結 |
DefaultPropertyAttribute | 為元件指定預設屬性,選中控件時自動聚焦 |
DefaultValueAttribute | 為簡單型別屬性設定預設值 |
EditorAttribute | 為屬性指定自訂編輯器(如顏色選擇器) |
LocalizableAttribute | 指示屬性可本地化,值將持久化至資源檔 |
DesignerSerializationVisibilityAttribute | 控制屬性序列化方式 |
TypeConverterAttribute | 指定類型轉換器,支援字串/代碼雙向轉換 |
DefaultEventAttribute | 為元件指定預設事件,屬性瀏覽器事件頁自動選中 |
雖然控件功能不依賴它們,但善用這些屬性能大幅提升開發者在 Visual Studio 設計器中的體驗:清晰的分類、即時的說明、合理的預設值、正確的序列化行為……都是專業控件庫的標配。
接下來的文章將通過代碼實戰,逐一示範這些屬性的具體應用與進階技巧。