【问题标题】:Passing and Returning Data between Pages C# Xaml在页面之间传递和返回数据 C# Xaml
【发布时间】:2016-11-11 10:19:47
【问题描述】:

我正在关注 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 页面,代替按钮内容的所有内容是:Windows.UI.Xaml.Navigation.NavigationEventArgs

----- 解决方案-----

我已经通过以下方式解决了这个问题:

在 Menu2.xaml.cs 中而不是 firstElement.Content = args; 我放了

firstElement.Content = passData.Data;

            base.OnNavigatedTo(args);

【问题讨论】:

    标签: c# data-binding parameter-passing


    【解决方案1】:

    在 Menu2.xaml.cs 中而不是 firstElement.Content = args; 我放

    firstElement.Content = passData.Data;
    
                base.OnNavigatedTo(args);
    

    这解决了问题,数据正在两个页面之间传递。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-10
      • 2012-09-08
      • 2016-08-04
      相关资源
      最近更新 更多