Reputation: 375
I have a Canvas
which contains a few Textblocks
and I need to find the top and left corner points that were assigned in the XAML Document. How can I get those two properties?
When I loop through the Framework Elements on the Canvas
I can't seem to find those to properties listed.
Upvotes: 17
Views: 28209
Reputation:
foreach (FrameworkElement fe in Canvas.Children)
Thickness margin = fe.Margin;
MessageBox.Show("Left: " + margin.Left + "Top: " + margin.Top);
Upvotes: -2
Reputation: 36775
Here some examples how to get the values:
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);
}
See http://msdn.microsoft.com/en-us/library/ms749011.aspx and http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas.top.aspx for more information
Upvotes: 27