在XAML页面中使用视图传递数据可以通过以下步骤实现:
这样,第二个XAML页面就可以使用第一个页面传递过来的数据了。
以下是一个示例代码:
第一个XAML页面(Page1.xaml):
<Page.DataContext>
<local:Page1ViewModel />
</Page.DataContext>
<!-- 页面内容 -->
<Button Content="跳转到第二个页面" Click="Button_Click" />
第一个XAML页面的视图模型(Page1ViewModel.cs):
public class Page1ViewModel
{
public string Data { get; set; }
}
第一个XAML页面的代码-behind(Page1.xaml.cs):
private void Button_Click(object sender, RoutedEventArgs e)
{
Page2 page2 = new Page2((Page1ViewModel)this.DataContext);
// 导航到第二个页面
this.NavigationService.Navigate(page2);
}
第二个XAML页面(Page2.xaml):
<Page.DataContext>
<local:Page1ViewModel />
</Page.DataContext>
<!-- 页面内容 -->
<TextBlock Text="{Binding Data}" />
第二个XAML页面的代码-behind(Page2.xaml.cs):
public partial class Page2 : Page
{
public Page2(Page1ViewModel viewModel)
{
InitializeComponent();
// 将接收到的视图模型赋值给页面的数据上下文
this.DataContext = viewModel;
}
}
在这个示例中,我们创建了一个名为Page1ViewModel
的视图模型,其中包含一个名为Data
的属性。在第一个XAML页面中,我们将视图模型与页面的数据上下文绑定,并通过按钮点击事件导航到第二个XAML页面。在第二个XAML页面中,我们将接收到的视图模型赋值给页面的数据上下文,并通过绑定将数据显示在TextBlock
中。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云