gpt4 book ai didi

wpf - Silverlight/WPF 运行时如何知道如何设置依赖项属性?

转载 作者:行者123 更新时间:2023-12-04 14:02:55 25 4
gpt4 key购买 nike

所以我想我明白什么是依赖属性以及我们为什么需要它们 - 它们是由 Silverlight/WPF 库管理的属性,以便运行时可以对它们的设置方式有一定的控制,使它们能够执行诸如赋予动画优先权之类的事情对属性和其他漂亮功能的其他类型的请求。

我的问题是,框架如何知道如何做到这一点?如果依赖属性总是通过其父对象上的 getter/setter 访问(遵循 GetValue()SetValue()),那么依赖存储库如何知道谁在发出请求以对其进行优先级排序?

对不起,如果这是一个非常基本/明显的问题。

* 是否有管理依赖属性的容器的名称?我在考虑 DP 注册,考虑到我们必须注册它们?

最佳答案

是的,有一个注册表,但它都是隐藏的。不,依赖属性根本不是通过 Getter 和 Setter 设置的,而是 DependencyObject 具有称为 GetValue 和 SetValue 的方法,您可以在其中实际将句柄传递给您的依赖属性。假设您的 DP 有注册表,并且它有字典和句柄到您的 DP(注册后获得的 DP 对象)是关键。

这样,注册中心就知道什么时候修改什么,更新什么,以及需要向谁发送通知。

你可以使用reflector来探索.NET的内部,你会知道每个DP都需要通过调用DependencyProperty.Register来注册,然后只有你才能使用它。

关于wpf - Silverlight/WPF 运行时如何知道如何设置依赖项属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5481520/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com