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

1 .net wpf dependency-properties

我需要这个依赖属性只能进行读操作.外部对象不应该为其赋值.

jas*_*son 7

是的,当然(想想IsMouseOver为什么应该存在只读依赖属性).MSDN有一篇关于这个主题的精彩文章.

实现只读依赖项属性存在一些问题,在某些情况下它们不起作用.但是,在某些情况下是可能的.对于这些情况,以下是实现只读依赖项属性的简要指南:

  1. RegisterReadOnly而不是Register.
  2. 不要在包装属性中公开公共集方法.
  3. 返回值来自RegisterReadOnly类型DependencyPropertyKey(而不是通常的DependencyProperty).存储但不公开此值.

链接的文章将为您提供必要的详细信息.