回答
正如您所描述的,我遇到並在WinForms,WPF和Silverlight中使用Tag
屬性的最常見用法是指出控件所涉及的真實數據。這對於實例或自動生成的用戶界面特別有用,您希望對僅有目標數據不同的多個對象(即要執行的操作保持不變)的多個對象使用相同的事件處理程序。
但是,我也使用Tag
來存儲枚舉值(儘管您應該避免使用值類型,因爲在將值分配給Tag
屬性時會導致裝箱)或者用於確定操作的字符串需要執行而不是執行它的數據,並且在一個特定的用法中,我存儲了一個委託,以便我可以自動生成一些按鈕並將其處理程序嵌入到Tag
中(處理程序信息由數據驅動提供方式)。
我確定有很多其他方式可以使用Tag
和許多其他方式來替換使用Tag
的更強類型的東西,但這就是我使用它的方式。
標籤屬性是一個古老的(以編程語言術語來說)持有控件。據我所知,它已被用於從visual basic,delphi,以及幾乎任何其他基於gui的語言。
它只是一個額外的屬性,允許您爲控制的任何原因添加數值。
我已經看到它用於從計數器到控件綁定的記錄標識的所有內容。
這是一個kludge。它通常用於例如TreeView將節點鏈接到數據元素。
但我不會過度使用它,因爲它是非常公開的,不是很靈活。請注意,您幾乎總是可以使用字典< Control,ValueType>來代替,並且具有更多的控制權限。
我一直在用ListViews和TreeViews來使用它。它使得試圖找到底層數據更容易。事實上,我不確定如何在沒有它的情況下製作可讀的Winforms應用程序。
在運行時創建ContextMenus時,我也使用它很多。我將一個對象填充到每個ToolStripMenuItem的Tag成員中,然後我可以用相同的方法指出每個菜單項的Click處理程序。它導致代碼少得多。
我只是希望它不需要這麼多的鑄造。
- 1. 查詢SQL查詢的常見屬性
- 2. 靜態屬性中的常見資源
- 3. 排序常見的屬性數組
- 4. 可見性屬性與fadeOut()無法正常工作
- 5. 比較屬性在對一些常見的屬性模型
- 6. 抽象語法樹(AST)中的常見屬性是什麼?
- 7. 的web2py:<body> -Tag屬性
- 8. typo3中img-tag中的alt/title屬性
- 9. 常見算法的GPU與CPU性能
- 10. 將常見屬性添加到Behave方法
- 11. UML的常見用法
- 12. 使用常見的方法
- 13. Java Spring MVC獲取.tag屬性爲.jsp
- 14. 'Tag'對象沒有'count'屬性
- 15. 爲什麼Tag屬性不被更新?
- 16. Ng-Tag-input minLength未設置屬性
- 17. 例外:'NoneType'對象沒有'tag'屬性
- 18. 屬性不可見
- 19. aspx可見屬性
- 20. TextBox可見屬性
- 21. ListView可見屬性
- 22. 更改可見性屬性
- 23. 有沒有辦法通過Tag屬性獲取XAML元素?
- 24. 常見做法?
- 25. 樹視圖控件C#中的Tag屬性的用法是什麼?
- 26. Delphi VCL組件的'Tag'屬性的用途是什麼?
- 27. <table:column>引用實體的屬性的Roo-tag
- 28. DisplayObject的可見屬性
- 29. 將XAML中的可見性綁定到可見性屬性
- 30. 如何使用ng2-tag-input組件的偏移屬性?
代表?我想它應該有,但我甚至從未想到代表也是對象。 – 2009-06-29 14:39:41
立即使用ListViewItem的標籤:在文件夾/文件的層次結構中,我使用標籤來存儲文件的完整路徑,而標題只顯示名稱。 – 2009-06-29 14:40:07