[英]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.