我是uwp的新手,我不想创建多个静态xaml文件,如何创建新页面,为该页面添加动态控件并导航
namespace UItest
{
// <summary>
// An empty page that can be used on its own or navigated to within a
// </summary>
public sealed partial class MainPage : Page
{
public MainPage()
{
InitializeComponent();
}
private void btntest_Click(object sender, RoutedEventArgs e)
{
Frame.Navigate(typeof(page2));
}
}
public sealed partial class page2 : Page
{
public page2()
{
Button bt = new Button();
bt.Content = "page2";
}
}
}
在上面的代码中我试图创建新类(page2),在按钮点击事件中它应该导航到页面
答案 0 :(得分:1)
不确定是否可能,也许是,因为大多数XAML事情也可以在后面的代码中完成。不过,也许尝试不同的东西 - 创建一个页面的基本模板 - 让它称之为 MultiPage ,然后根据合适的传递参数在 OnNavigatedTo 上重新设计它。一个简短的示例 - MultiPage&#39> 代码:
public enum PageType { First, Second }
public sealed partial class MultiPage : Page
{
public MultiPage()
{
this.InitializeComponent();
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
switch ((PageType)e.Parameter)
{
case PageType.First:
this.Content = new Button { Content = "First page" };
break;
case PageType.Second:
this.Content = new Button { Content = "Second page" };
break;
default:
break;
}
}
}
以及导航到该页面的方式:
private void FirstClick(object sender, RoutedEventArgs e)
{
this.Frame.Navigate(typeof(MultiPage), PageType.First);
}
private void SecondClick(object sender, RoutedEventArgs e)
{
this.Frame.Navigate(typeof(MultiPage), PageType.Second);
}