All zu oft ist das Layout nicht statisch, sondern es werden Controls dynamisch im Code-Behind-File geladen oder erstellt und der Benutzeroberfläche hinzugefügt.
In Windows Forms oder ASP.NET sind wir alle mit der Controls-Eigenschaft vertraut, welche den Control-Tree enthält. Doch in WPF bzw. Silverlight sucht man diese Eigenschaft vergebens, da diese “Children” heißt.
Doch wie wird das erstellte Contorl nun positioniert? Immerhin fehlt die Left- bzw. Top-Eigenschaft.
Hierzu stehen statische Methoden der Container-Klassen zur Verfügung. Also z.B.: Canvas.SetLeft bzw. Grid.SetColumn etc.
Das Hinzufügen und die Positionierung der Controls ist in Silverlight und WPF ein klein wenig anders als bei WinForms und ASP.NET:
