我需要此依賴項屬性才能被讀取操作訪問。外部對象不應該能夠爲其分配值。我可以創建一個只讀的依賴項屬性嗎?
1
A
回答
7
是的,當然(認爲IsMouseOver
爲什麼只讀依賴項屬性應該存在)。 MSDN有關於這個問題的很好的文章。
實現只讀依賴項屬性時有一些問題,並且在某些情況下它們不起作用。但是,在某些情況下是可能的。對於這些情況,下面是一個簡短的指南,以實現一個只讀依賴項屬性:
- 使用
RegisterReadOnly
,而不是Register
。 - 不要在您的包裝屬性中公開設置方法。
RegisterReadOnly
的返回值爲DependencyPropertyKey
(而不是通常的DependencyProperty
)。存儲但不公開此值。
鏈接的文章會給你必要的細節。
4
是的,你可以。
MSDN有整個部分描述如何定義和使用Read-Only Dependency Properties。
主要問題是致電DependencyProperty.RegisterReadOnly而不是註冊。此外,如果您在對象上創建屬性來處理此屬性,請確保僅在屬性中實現公共getter,而不是公共setter。
相關問題
- 1. 如何創建只讀依賴項屬性?
- 2. 如何創建一個只讀的布爾依賴返回`另外兩個依賴屬性
- 3. JAXB可以創建「只讀」類屬性嗎?
- 4. 如何擴展此依賴項屬性示例以重新創建DockPanel.Dock =「Top」類的依賴項屬性?
- 5. 依賴屬性依賴於另一個
- 6. WPF:如何使基類的依賴項屬性爲只讀
- 7. 將每個控件的依賴項屬性綁定到一個屬性。可以做到嗎?
- 8. 我可以使用Maven依賴項的路徑作爲屬性嗎?
- 9. 綁定依賴屬性到另一個依賴屬性
- 10. 當我創建依賴屬性時,GetValue和SetValue方法是強制性的嗎?
- 11. 包裝建造商可以依賴另一個建造者嗎?
- 12. 依賴項屬性繼承
- 13. WPF依賴項屬性MVVM
- 14. 容易依賴項屬性
- 15. 如何創建綁定的依賴項屬性
- 16. 我可以讓Gradle只拉入需要的依賴關係嗎?
- 17. 難以依賴屬性
- 18. 是否可以使用WPF派生的依賴項屬性?
- 19. 如何爲文本框創建依賴項屬性
- 20. 創建依賴項屬性有什麼缺點?
- 21. 如何創建按鈕內容,如依賴項屬性
- 22. 無法創建集合類型依賴項屬性
- 23. 創建依賴項屬性而不繼承DependencyObject
- 24. 我可以依賴Referer HTTP頭嗎?
- 25. 我可以批量基於屬性(不只是項目)嗎?
- 26. 我可以從一個項目創建多個dll嗎?
- 27. WPF - 公開一個可綁定只讀依賴項屬性,並添加值內部
- 28. 我可以創建一個嵌套表作爲屬性的對象表嗎?
- 29. 依賴屬性
- 30. 依賴屬性
而你的編程語言是... – Zed 2009-08-24 17:02:45
如果c#,使setter私人。公共對象prop {get;私人設置;} – 2009-08-24 17:07:01
或只是省略設置:) – 2009-08-24 17:07:47