我有一个主页,其中包含我的导航视图的代码。主页导航到带有 frame.navigate() 的页面。其中一个页面包含用户输入数据的文本框。我想获取输入的数据并使用它来更改另一个页面上显示的内容。
我在这里看过很多关于将数据从一个视图传递到另一个视图的类似帖子,它们都使用frame.navigate(typeof(page),参数)。但是我的参数不在主页上,我有我的导航控件。
MainPage.xaml
<Page>
<Grid>
<NavigationView x:Name="nvTopLevelNav">
<NavigationView.MenuItems>
<NavigationViewItem Icon="Setting" Content="Page1" Tag="Page1" />
<NavigationViewItem Icon="Rotate" Content="Page2" Tag="Page2" />
</NavigationView.MenuItems>
<Frame x:Name="contentFrame"></Frame>
</NavigationView>
</Grid>
</Page>
MainPage.xaml.cs:
namespace App
{
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}
#region NavigationView event handlers
private void nvTopLevelNav_Loaded(object sender, RoutedEventArgs e)
{
// set the initial SelectedItem
foreach (NavigationViewItemBase item in nvTopLevelNav.MenuItems)
{
if (item is NavigationViewItem && item.Tag.ToString()=="Page1")
{
nvTopLevelNav.SelectedItem = item;
break;
}
}
}
private void nvTopLevelNav_SelectionChanged(NavigationView sender, NavigationViewSelectionChangedEventArgs args)
{
Windows.UI.Xaml.Controls.NavigationViewItem Item = args.SelectedItem as Windows.UI.Xaml.Controls.NavigationViewItem;
if (Item.Tag is string ItemTag)
{
switch (ItemTag)
{
case "Page1":
contentFrame.Navigate(typeof(SettingsPage));
sender.Header = "Page1";
break;
case "Page2":
contentFrame.Navigate(typeof(Page2));
sender.Header = "Page2";
break;
}
}
}
}
}
慕娘9325324
相关分类