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

Silverlight Canvas.SetTop(objFrameworkElement,10)之间的区别是什么;和objFrameworkElement.SetValue(Canvas.TopProperty,20),silverlight,silverlight-3.0,Silverlight,Silverlight 3.0,我有个问题。Canvas.SetTop(objFrameworkElement,10)之间的区别是什么;和objFrameworkElement.SetValue(Canvas.TopProperty,20)基本上是一样的Canvas.SetTop调用元素上的SetValue。SetX方法中有时会有一些逻辑,比如如果指定的值与默认值相同,则调用ClearValue而不是SetValue(对于Canvas.Top)。所以我更喜欢使用GetX/SetX方法。基本上是一样的Canvas.SetTop调

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

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

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

在大多数情况下,您可以交替使用这两种方法。关键区别在于
Canvas.SetTop
使用特定类型
Double
作为value参数,而
SetValue
使用
对象


因此,当您知道实际要设置的属性时,使用诸如
SetTop
之类的方法是一种更好的做法。当您传递错误的类型时,您将得到编译时错误,而使用
SetValue
直到运行时您才知道错误。

在大多数情况下,您可以交替使用这两种方法。关键区别在于
Canvas.SetTop
使用特定类型
Double
作为value参数,而
SetValue
使用
对象


因此,当您知道实际要设置的属性时,使用诸如
SetTop
之类的方法是一种更好的做法。当您传递错误的类型时,您将得到编译时错误,而使用
SetValue
直到运行时您才知道该错误。

很抱歉,我们没有得到您的答案。我也知道这些都是相同的,但我被问到一个问题来解释差异,我无法解释。所以请你详细说明你的答案。谢谢对不起,我没有得到你的答复。我也知道这些都是相同的,但我被问到一个问题来解释差异,我无法解释。所以请你详细说明你的答案。谢谢谢谢我想这回答了我的问题谢谢我想这回答了我的问题。