【问题标题】:Passing data from page to page c# windows 8.1在页面之间传递数据 c# windows 8.1
【发布时间】:2016-08-04 11:37:13
【问题描述】:

我想要做的是将总金额从结帐页面传递到摘要页面。总金额在结帐页面上有效,但是当我尝试使用此代码传递时:Frame.Navigate(typeof(Summary), new { TotalValue });,它什么也没做。 这是我在结帐页面上给我总金额的代码

  private double totalValue;

            public double TotalValue
            {
                get { return totalValue; }
                set
                {
                    totalValue = value;
                    OnPropertyChanged("TotalValue");
                }
            }

        public IEnumerable<Control> Controls { get; private set; }

 protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            BuyingPage.Flavour data = e.Parameter as BuyingPage.Flavour;
            /**    ItemChosentxt.Text = data.Name;
                ItemChosentxt2.Text = data.Name;
                ItemChosentxt3.Text = data.Name;
                ItemChosentxt4.Text = data.Name;**/
            if (data != null)
            {   
                Flavour.Add(data);
                double tempTotalValue = 0;
                foreach (var record in Flavour)
                {
                    tempTotalValue = tempTotalValue + record.Value;
                }
                TotalValue = tempTotalValue;
            }
        }

【问题讨论】:

    标签: c# windows visual-studio windows-phone-8.1


    【解决方案1】:

    您将e.Parameter 转换为BuyingPage.Flavour,但像匿名类型一样传递它:new { TotalValue }

    要么创建BuyingPage.Flavour 的新实例并像Frame.Navigate(typeof(Summary), flavor); 一样传递它,要么更改以下行:

    BuyingPage.Flavour data = e.Parameter as BuyingPage.Flavour;
    

    类似于:

    dynamic data = e.Parameter;
    

    或者,让它更简单,就像@Archana 建议的那样:

    Frame.Navigate(typeof(Summary), TotalValue);
    

    然后:

    double data = (double)e.Parameter;
    

    【讨论】:

    • 那不是dynamic类型,而是匿名的。
    • 为什么这很重要?我的问题与此无关。那部分有效。我说的是让结帐页面上显示的总价值也显示在摘要页面上
    • 你为什么要做这个“new { TotalValue }”? TotalValue 的类型是 double 对吗?
    • 如果您只想传递总值,请执行 thisFrame.Navigate(typeof(Summary),TotalValue);
    • @EldarDordzhiev 你是对的!刚刚编辑了答案。但是,无论如何,要访问TotalValue 属性,我们必须使用dynamic,对吧,还是有其他方法?
    猜你喜欢
    • 2014-09-16
    • 1970-01-01
    • 2016-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多