Найдите положение элемента управления на холсте
-
27-09-2020 - |
Вопрос
У меня есть Canvas
который содержит несколько Textblocks
и мне нужно найти верхнюю и левую угловые точки, которые были назначены в документе XAML.Как я могу получить эти два свойства?
Когда я перебираю элементы фреймворка на Canvas
Кажется, я не могу найти их в списке свойств.
Решение
Вот несколько примеров того, как получить значения:
foreach(FrameworkElement fe in canvas.Children){
// example 0
double top=(double)fe.GetValue(Canvas.TopProperty);
double left=(double)fe.GetValue(Canvas.LeftProperty);
// example 1
double top1=Canvas.GetTop(fe);
double left1=Canvas.GetLeft(fe);
}
Видеть http://msdn.microsoft.com/en-us/library/ms749011.aspx и http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas.top.aspx для получения дополнительной информации
Другие советы
Элегантное решение
foreach (FrameworkElement fe in Canvas.Children)
Thickness margin = fe.Margin;
MessageBox.Show("Left: " + margin.Left + "Top: " + margin.Top);
Не связан с StackOverflow