我有一个小问题导航到动态创建的页面(与c# &XAML (visual studio 2015版)。我可以创建页面(我假设),但当我导航到它们时,它会给我原始页面。
我想这可能是与测试/test2的GetType,这是指向Dynamic_Page_1页(该页上没有任何东西),但我如何去强迫它使用我正在修改的新实例?
// Dynamic Page One
Dynamic_Page_1 test = new Dynamic_Page_1();
Button b = new Button { Content = "DYNAMIC TEST ONE", FontSize = 22, FontWeight = FontWeights.Bold };
test.Stack().Children.Add(b);
// Dynamic Page Two
Dynamic_Page_1 test2 = new Dynamic_Page_1();
TextBlock t1 = new TextBlock {Text = "DYNAMIC TEST TWO" };
test2.Stack().Children.Add(t1);
// Dynamically create buttons which link to both Dynamically created pages
Button b3 = new Button { Content = "GO TO TEST ONE", };
Button b4 = new Button { Content = "GO TO TEST TWO", };
b3.Click += (s, e) => {
Frame.Navigate(test.GetType());
};
b4.Click += (s, e) =>
{
Frame.Navigate(test2.GetType());
};
stackPanel1.Children.Add(b3);
stackPanel1.Children.Add(b4);
我在最后通过stackpanel解决了这个问题。
Frame.Navigate(typeof(Dynamic_Page_1), stackPanel1);
然后修改navigateTo部分来查找它
protected override void OnNavigatedTo(NavigationEventArgs e)
{
StackPanel stack = (StackPanel) e.Parameter;
// Do something with stackpanel.
}