为了账号安全,请及时绑定邮箱和手机立即绑定

UWP:在主页.cs和视图\页面之间传递数据.cs

UWP:在主页.cs和视图\页面之间传递数据.cs

C#
蓝山帝景 2022-08-20 16:21:57
我有一个主页,其中包含我的导航视图的代码。主页导航到带有 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;            }        }    }}}
查看完整描述

1 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

Xeorge是对的。一般来说,可以将数据保存在单独的数据层中,并且每个 VM 都可以访问此数据层以获取所需的内容。这实际上是您的最佳实践。

为了更清楚地说明这一点,请查看官方文档:数据绑定和 MVVM 有关示例的详细信息,您可以从上面的文档中看到以下内容:“有关使用基本的、现成的 MVVM 的其他指导,请查看 GitHub 上的客户订单数据库示例。许多其他 UWP 应用示例也使用基本的 MVVM 体系结构,流量应用示例包括代码隐藏和 MVVM 版本,并带有描述 MVVM 转换的注释。


查看完整回答
反对 回复 2022-08-20
  • 1 回答
  • 0 关注
  • 82 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信