我正在关注Petzold的教程。但是,我无法让我的算法正常工作。
我创建了一个类,用于在两个页面之间传递数据:
public class PassData
{
public object Data { set; get; }
}
然后,我将我的PassData对象包含为Navigate的第二个参数: (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
是我按钮的别名。
当我运行代码时,在MainPage上我单击ListBox项目,它被分配给firstElement.Content,然后我导航到Menu2页面,我取代按钮内容的所有内容是:{{1} }。
-----解决方案-----
我通过以下方式解决了问题:
在Menu2.xaml.cs而不是Windows.UI.Xaml.Navigation.NavigationEventArgs
中,我放了
firstElement.Content = args;
答案 0 :(得分:0)
在Menu2.xaml.cs而不是firstElement.Content = args;
中,我放了
firstElement.Content = passData.Data;
base.OnNavigatedTo(args);
这解决了问题,数据在两个页面之间传递。