2017-02-13 13 views
-1

У меня есть холст и кнопка и код:Прикрепленные свойства Canvas.Left изменить положение кнопки

Canvas canv = new Canvas(); 
Button btn = new Button(); 
btn.SetValue(Canvas.LeftProperty,50.0); 
canv.Children.Add(btn); 

код устанавливает положение кнопки 50, слева в холст. Но в этом коде я изменяю только прикрепленное свойство Canvas.LeftProperty до 50. Какая часть позиции кнопки изменения кода в холсте? Является ли каждый вызов SetValue на кнопке меняет положение кнопки или нет? Я хочу понять, где определена позиция кнопки и как она работает?

Спасибо.

Лев

+0

Я понимаю, что прикрепленное имущество очень хорошее. Я понимаю, как кнопка устанавливает прикрепленные свойства. Но я не понимаю, где связь между позицией кнопки в холсте и прикрепленными свойствами Canvas.left – leoleo

ответ

0

Я понимаю, как кнопка устанавливает вложенные свойства. Но я не понимаю, где связь между положением кнопки в полотне и присоединенных свойства Canvas.Left

Это ArrangeOverride метод Canvas класса, который обрабатывает фактическое расположение элементов на основе значений прилагаемого . Холст * свойства: https://referencesource.microsoft.com/#PresentationFramework/src/Framework/System/Windows/Controls/Canvas.cs,a23db2d321823084

Canvas.Left вложенное свойство задает значение, которое представляет собой расстояние между левой стороной элемента и левой стороны своего родителя Canvas, независимо от того, установлен ли в XAML разметке или программно. Это одно и то же свойство. Это не имеет никакого значения, откуда и как вы его устанавливаете.

+0

Спасибо, теперь я это понимаю. Благодарю. – leoleo

+0

Добро пожаловать. Не забудьте принять ответ: http://meta.stackexchange.com/questions/23138/how-to-accept-the-answer-on-stack-overflow. – mm8

 Смежные вопросы

  • Нет связанных вопросов^_^