В чем разница между Canvas.SetTop (objFrameworkElement, 10); и objFrameworkElement.SetValue (Canvas.TopProperty, 20) - PullRequest
1 голос
/ 18 мая 2010

У меня есть вопрос. В чем разница между Canvas.SetTop (objFrameworkElement, 10); и objFrameworkElement.SetValue (Canvas.TopProperty, 20)

Ответы [ 2 ]

1 голос
/ 18 мая 2010

По большей части вы можете использовать любой подход взаимозаменяемо. Основное отличие состоит в том, что Canvas.SetTop использует определенный тип Double для параметра значения, тогда как SetValue использует Object.

Следовательно, лучше использовать такие вещи, как SetTop, когда вы знаете свойство, которое действительно хотите установить. Вы получите ошибки времени компиляции, когда вы передадите неправильный тип, тогда как при использовании SetValue вы не узнаете об ошибке до времени выполнения.

0 голосов
/ 18 мая 2010

Это в основном то же самое. Canvas.SetTop вызывает SetValue на элементе. Иногда в методах SetX есть немного логики, например, вызов ClearValue вместо SetValue, если указанное значение совпадает со значением по умолчанию (это не относится к Canvas.Top). Поэтому я предпочитаю использовать методы GetX / SetX.

...