.net - 为什么 .Net WPF DependencyProperties 必须是类的静态成员

标签 .net wpf

现在学习WPF。今天通过 .Net 依赖属性发现了一些新东西。他们带来的是什么

  • 支持回调(验证、更改等)
  • 属性继承
  • 附加属性

  • 其中。

    但我的问题是为什么需要在包含类中将它们声明为静态?推荐的方法是为它们添加实例“包装器”属性。为什么 ?

    编辑:
    @Matt,但这不是也要求属性值也跨实例共享 - 除非它当然是派生值?

    最佳答案

    我看到该要求背后的两个原因:

  • 不能两次注册同一个DP。为了遵守这个约束,你应该使用静态变量,它只会被初始化一次,因此你只会注册一次 DP。
  • DP 应该在创建
  • 的任何类(使用该数据库)实例之前注册

    关于.net - 为什么 .Net WPF DependencyProperties 必须是类的静态成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36682/

    相关文章:

    c# - 从 UI 中分离线程

    c# - 清除和重新填充绑定(bind)的组合框

    c# - 如何在 WPF 中的 Xaml 文件中添加注释?

    javascript - 表单的 Jquery 表单验证

    .net - msbuild VS2017 解决方案,其中包含 netstandard 库

    c# - 将用户限制在 OpenFileDialog 中的特定目录

    c# - 在控件模板中设置文本框焦点

    .net - WPF Singleton ValueConverters 性能影响

    c# - 如果 Windows 版本低于 7 则退出

    .net - 我可以重复使用交易吗?如何?