我已经阅读了几天关于依赖属性的资料,明白它们如何检索值而不是像CLR属性一样进行设置/获取。如果我有错误,请随时纠正。
据我所知,所有WPF控件(例如TextBlock、Button等)都派生自DependencyObject,并包含依赖属性来存储它们的值,而不是使用CLR属性。这样做的好处是在使用动画时覆盖本地值,在未设置任何本地值时继承值等。
现在我正在尝试创建一些示例来创建和使用自己的dp。
1)是否可以在现有的WPF控件上创建自己的依赖属性?比如说,我想在WPF Textblock类上创建一个整数类型的依赖属性?还是我必须创建一个派生自TextBlockBase的新类,以便在其中创建我的依赖属性?
2)无论哪种情况,假设我已经在WPF textblock类上创建了一个依赖属性。现在我想通过将标签的内容绑定到TextBlock的依赖属性来利用它。这样,标签始终会显示TextBlock的dp的实际值,无论它是继承的还是本地设置的。
希望有人能帮助我解决这两个问题...非常感谢, Kave