动态创建控件:
面向对象的概念,对于每个xaml后者说是窗体(page,frame等)都是一个类,那么要动态创建控件其实就是在运行时去new对象。
/*
*有时候重载的事件,他并没有说,我们要从sdk中去找到它
*/
protected override void OnNavigatedTo(NavigationEventArgs e)
{
myNewBtn = new Button();
myNewBtn.Content = "Good Btn";
myNewBtn.Width = 100;
myNewBtn.Height = 50;
myNewBtn.HorizontalAlignment = System.Windows.HorizontalAlignment.Center;
myNewBtn.VerticalAlignment =System.Windows.VerticalAlignment.Stretch;
myNewBtn.Click += new RoutedEventHandler(myNewBtn_Click);
this.LayoutRoot.Children.Add(myNewBtn); //最好每个page也都是在一个Grid中,也就是可以
}
当跳转到page页时,动态创建一个btn。
model对话框:
/*
* 创建一个model对话框,并把它显示出来,同时设定其回调函数
*/
private void myBTN_Click(object sender, RoutedEventArgs e)
{
myChildWindow = new ChildWindow1();
myChildWindow.Closed += new EventHandler(myChildWindow_Closed); //指定回调函数
myChildWindow.Show(); //显示对话框
}
/*
* 这是model对话框的回调函数的处理,这里是可以访问到对话框中的控件信息的
*/
void myChildWindow_Closed(object sender, EventArgs e)
{
if (myChildWindow.DialogResult == true)
{
MessageBox.Show("dialog is o");
}
else
{
// MessageBox.Show("dialog is n");
}
}