我可以创建一个只读的依赖项属性吗?
我需要此依赖项属性才能被读取操作访问。外部对象不应该能够为其分配值。我可以创建一个只读的依赖项属性吗?
回答:
是的,当然(认为IsMouseOver
为什么只读依赖项属性应该存在)。 MSDN有关于这个问题的很好的文章。
实现只读依赖项属性时有一些问题,并且在某些情况下它们不起作用。但是,在某些情况下是可能的。对于这些情况,下面是一个简短的指南,以实现一个只读依赖项属性:
- 使用
RegisterReadOnly
,而不是Register
。 - 不要在您的包装属性中公开设置方法。
RegisterReadOnly
的返回值为DependencyPropertyKey
(而不是通常的DependencyProperty
)。存储但不公开此值。
链接的文章会给你必要的细节。
回答:
是的,你可以。
MSDN有整个部分描述如何定义和使用Read-Only Dependency Properties。
主要问题是致电DependencyProperty.RegisterReadOnly而不是注册。此外,如果您在对象上创建属性来处理此属性,请确保仅在属性中实现公共getter,而不是公共setter。
以上是 我可以创建一个只读的依赖项属性吗? 的全部内容, 来源链接: utcz.com/qa/263753.html