在页之间传递和返回数据 C# Xaml
本文关键字:返回 数据 Xaml 之间 | 更新日期: 2023-09-27 18:17:21
我正在遵循Petzold的教程。但是,我无法让我的算法正常工作。
我创建了一个类,目的是在两个页面之间传递数据:
public class PassData
{
public object Data { set; get; }
}
然后,我将我的 PassData 对象作为导航的第二个参数包括在内:(MainPage.xaml.cs(
private void Button2Click(object sender, RoutedEventArgs args)
{
// Create PassData object
PassData passData = new PassData();
// Set the InitializeData property from the ListBox
passData.Data = firstElement.Content;
// Pass that object to Navigate
this.Frame.Navigate(typeof(Menu2), passData);
}
然后,在 Menu2 中,我尝试使用传递的对象初始化按钮名称:
// pulling data from first page selection
protected override void OnNavigatedTo(NavigationEventArgs args)
{
// Get the object passed as the second argument to Navigate
PassData passData = args.Parameter as PassData;
// Use that to initilize the button
firstElement.Content = args;
}
firstElement
是我的按钮的别名。
当我运行代码时,在主页上我单击列表框项,它被分配给firstElement.Content,然后我导航到Menu2页面,我得到的只是按钮的内容:Windows.UI.Xaml.Navigation.NavigationEventArgs
。
-----溶液-----
我已经通过以下方式解决了问题:
在 Menu2.xaml 中.cs而不是我放firstElement.Content = args;
firstElement.Content = passData.Data;
base.OnNavigatedTo(args);
在 Menu2.xaml 中.cs而不是我放firstElement.Content = args;
firstElement.Content = passData.Data;
base.OnNavigatedTo(args);
这解决了问题,并且数据在两个页面之间传递。