Pergunta

eu tenho um Canvas que contém alguns Textblocks e preciso encontrar os pontos dos cantos superior e esquerdo que foram atribuídos no documento XAML.Como posso obter essas duas propriedades?

Quando eu percorro os elementos da estrutura no Canvas Não consigo encontrar as propriedades listadas.

Foi útil?

Solução

Aqui estão alguns exemplos de como obter os valores:

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);

}

Ver http://msdn.microsoft.com/en-us/library/ms749011.aspx ehttp://msdn.microsoft.com/en-us/library/system.windows.controls.canvas.top.aspxPara maiores informações

Outras dicas

Solução elegante

foreach (FrameworkElement fe in Canvas.Children)
         Thickness margin = fe.Margin;

MessageBox.Show("Left: " + margin.Left + "Top: " + margin.Top);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top