[英]Add Children to element of type Page created in code behind Windows Phone 8.1
我可以在后面的代码中创建Page
类型的新元素,但我想像在Grid
那样添加UIElement
类型的子元素: myGrid.Children.Add(myUIElement);
我没有Children
属性,并且设置Content
属性无效。
我该如何实现?
更新:
这是我到目前为止的内容,但是不起作用:
Page myNewPage = new Page();
Grid myGrid = new Grid();
TextBlock myText = new TextBlock();
myText.Text = "I am a TextBlock!";
myGrid.Children.Add(myText);
myNewPage.Content = myGrid;
Frame.Navigate(myNewPage.GetType());
Page
可以在其Content
属性中承载单个UIElement
。 要添加多个子级,您必须像在XAML中那样进行操作:添加一个可以包含并布局多个子级的面板,然后将元素添加到该面板中。
在您的问题中,您谈论的是一个名为myGrid
的网格。 您可以在myGrid
添加和布局项目,然后将myGrid
设置为yourPage.Content
。
您的代码正确构建了页面。 代码的问题是您的Frame
导航到不是您创建的Page
的新实例。 Frame
创建您作为参数传递的类型的新实例。
如果要完全用代码创建页面,则可以简单地创建扩展Page
类并在其构造函数中构建页面:
public class MyPage : Page
{
public MyPage()
{
this.BuildPage();
}
private void BuildPage()
{
var panel = new StackPanel();
panel.Children.Add(new TextBlock { Text = "Hello" });
panel.Children.Add(new TextBlock { Text = "World" });
this.Content = panel;
}
}
毕竟,这就是在XAML中创建的页面中InitializeComponent
方法的作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.