为什么SetTarget是Storyboard的静态方法
Why is SetTarget a static method of Storyboard
我想知道 MS class(故事板)和相关 class - 时间轴中的一个细节。
以下是 classes 的文档:
- https://msdn.microsoft.com/en-us/library/System.Windows.Media.Animation.Storyboard(v=vs.110).aspx
- https://msdn.microsoft.com/en-us/library/system.windows.media.animation.timeline(v=vs.110).aspx
根据MS文档在Timeline上设置一个Target,我们需要使用Storyboard静态方法。为什么?有谁知道这个决定的背景吗?
时间轴目标的信息存储在哪里?在情节提要静态字段中?在 Storyboard 对象中是 Timeline 的父对象?在时间轴的私人领域?
如果您知道有关此实施的任何信息,请提前致谢,因为我想知道他们采取这一行动过程是否有原因。
当我遇到 Silverlight/WPF 时,静态方法的使用让我一开始感到震惊。数据实际上存储在时间轴上,而不是其他地方,但为什么是静态方法,而不仅仅是时间轴对象本身的方法?
原因是:大多数WPF/Silverlight元素都有很多属性:背景、字体、笔画粗细等。如果按照常规方式实现,这些将消耗大量内存。
相反,Silverlight/WPF 引入了 DependencyProperties 的概念。这些是可以在 DepedencyObject 上设置的属性。如果您不设置它们,您将获得默认值,并且不会使用额外的内存。 SetValue(ThePropertyName, value)
和 GetValue(ThePropertyName)
通常用于设置和检索依赖项 属性 值。
另外,还有一个想法叫AttachedProperty。附加属性是由第三方定义的属性,可以附加 到 DependencyObject。这类似于 Visual Basic 中的 属性 扩展器。它允许针对现有元素定义其他属性。 Storyboard动画就是这样实现的
我想知道 MS class(故事板)和相关 class - 时间轴中的一个细节。
以下是 classes 的文档:
- https://msdn.microsoft.com/en-us/library/System.Windows.Media.Animation.Storyboard(v=vs.110).aspx
- https://msdn.microsoft.com/en-us/library/system.windows.media.animation.timeline(v=vs.110).aspx
根据MS文档在Timeline上设置一个Target,我们需要使用Storyboard静态方法。为什么?有谁知道这个决定的背景吗?
时间轴目标的信息存储在哪里?在情节提要静态字段中?在 Storyboard 对象中是 Timeline 的父对象?在时间轴的私人领域?
如果您知道有关此实施的任何信息,请提前致谢,因为我想知道他们采取这一行动过程是否有原因。
当我遇到 Silverlight/WPF 时,静态方法的使用让我一开始感到震惊。数据实际上存储在时间轴上,而不是其他地方,但为什么是静态方法,而不仅仅是时间轴对象本身的方法?
原因是:大多数WPF/Silverlight元素都有很多属性:背景、字体、笔画粗细等。如果按照常规方式实现,这些将消耗大量内存。
相反,Silverlight/WPF 引入了 DependencyProperties 的概念。这些是可以在 DepedencyObject 上设置的属性。如果您不设置它们,您将获得默认值,并且不会使用额外的内存。 SetValue(ThePropertyName, value)
和 GetValue(ThePropertyName)
通常用于设置和检索依赖项 属性 值。
另外,还有一个想法叫AttachedProperty。附加属性是由第三方定义的属性,可以附加 到 DependencyObject。这类似于 Visual Basic 中的 属性 扩展器。它允许针对现有元素定义其他属性。 Storyboard动画就是这样实现的