Canvas.SetTop(objFrameworkElement,10)之间的区别是什么?和objFrameworkElement.SetValue(Canvas.TopProperty,20)

时间:2010-05-18 12:36:52

标签: silverlight silverlight-3.0

我有一个问题。 Canvas.SetTop(objFrameworkElement,10)之间的区别是什么?和objFrameworkElement.SetValue(Canvas.TopProperty,20)

2 个答案:

答案 0 :(得分:1)

在大多数情况下,您可以互换使用任何一种方法。关键区别在于Canvas.SetTop使用特定类型Double作为值参数,而SetValue使用Object

因此,当您知道实际想要设置的属性时,使用SetTop之类的东西是更好的做法。传递错误类型时会出现编译时错误,而使用SetValue时,在运行时才会知道错误。

答案 1 :(得分:0)

这基本上是一回事。 Canvas.SetTop在元素上调用SetValue。在SetX方法中有时会有一些逻辑,比如调用ClearValue而不是SetValue,如果指定的值与默认值相同(Canvas.Top不是这种情况)。所以我更喜欢使用GetX / SetX方法。