我可以创建一个只读的依赖项属性吗?

我需要此依赖项属性才能被读取操作访问。外部对象不应该能够为其分配值。我可以创建一个只读的依赖项属性吗?

回答:

是的,当然(认为IsMouseOver为什么只读依赖项属性应该存在)。 MSDN有关于这个问题的很好的文章。

实现只读依赖项属性时有一些问题,并且在某些情况下它们不起作用。但是,在某些情况下是可能的。对于这些情况,下面是一个简短的指南,以实现一个只读依赖项属性:

  1. 使用RegisterReadOnly,而不是Register
  2. 不要在您的包装属性中公开设置方法。
  3. RegisterReadOnly的返回值为DependencyPropertyKey(而不是通常的DependencyProperty)。存储但不公开此值。

链接的文章会给你必要的细节。

回答:

是的,你可以。

MSDN有整个部分描述如何定义和使用Read-Only Dependency Properties。

主要问题是致电DependencyProperty.RegisterReadOnly而不是注册。此外,如果您在对象上创建属性来处理此属性,请确保仅在属性中实现公共getter,而不是公共setter。

以上是 我可以创建一个只读的依赖项属性吗? 的全部内容, 来源链接: utcz.com/qa/263753.html

回到顶部