2016-11-11 44 views
0

我遵循Petzold的教程。但是,我無法讓我的算法正常工作。在頁面之間傳遞和返回數據C#Xaml

我創建兩個頁面之間傳遞數據的目的的一類:

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); 

    } 

然後,內菜單2我嘗試初始化按鈕與傳遞對象名稱:

// 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頁面,並且我得到的代替按鈕的內容是:Windows.UI.Xaml.Navigation.NavigationEventArgs

在Menu2.xaml.cs代替firstElement.Content = args;我把

firstElement.Content = passData.Data; 

      base.OnNavigatedTo(args); 

回答

0

----- -----解決方案

我已經做如下解決問題而不是firstElement.Content = args;

在Menu2.xaml.cs我把

firstElement.Content = passData.Data; 

      base.OnNavigatedTo(args); 

這解決日問題和數據正在兩頁之間傳遞。