2016-11-11 27 views
0

私はPetzoldのチュートリアルに従っています。しかし、アルゴリズムが正しく動作するようにはできません。ページ間でデータを受け渡しするC#Xaml

私は2つのページ間でデータを受け渡しを目的としたクラスを作成します。

public class PassData 
{ 
    public object Data { set; get; } 
} 

その後、私は移動するには2番目の引数としての私の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); 

    } 

// 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; 
    } 

次に、メニュー2内私はボタンが渡されたオブジェクトに名前を初期化してみてください

firstElementは私のボタンのエイリアスです。

コードを実行すると、MainPageでListBox ItemをクリックするとfirstElement.Contentに割り当てられ、次にMenu2ページに移動し、ボタンのコンテンツの代わりに取得するのはWindows.UI.Xaml.Navigation.NavigationEventArgsです。

----- ----- SOLUTION

私は次のように実行して問題を解決している:私は

firstElement.Content = passData.Data; 

      base.OnNavigatedTo(args); 

答えて

0
を入れMenu2.xaml.cs以内

の代わりfirstElement.Content = args;をMenu2.xaml.cs内

代わりのfirstElement.Content = args;私はこれが目を解決

firstElement.Content = passData.Data; 

      base.OnNavigatedTo(args); 

を置きます問題が発生し、データが2ページ間で渡されています。

関連する問題