我有一个问题。 Canvas.SetTop(objFrameworkElement,10)之间的区别是什么?和objFrameworkElement.SetValue(Canvas.TopProperty,20)
答案 0 :(得分:1)
在大多数情况下,您可以互换使用任何一种方法。关键区别在于Canvas.SetTop
使用特定类型Double
作为值参数,而SetValue
使用Object
。
因此,当您知道实际想要设置的属性时,使用SetTop
之类的东西是更好的做法。传递错误类型时会出现编译时错误,而使用SetValue
时,在运行时才会知道错误。
答案 1 :(得分:0)
这基本上是一回事。 Canvas.SetTop
在元素上调用SetValue
。在SetX方法中有时会有一些逻辑,比如调用ClearValue
而不是SetValue
,如果指定的值与默认值相同(Canvas.Top
不是这种情况)。所以我更喜欢使用GetX / SetX方法。