Windows Phone 8.1-C#中如何将文本框转移到另一个页面

How to transfer textbox to another page in Windows Phone 8.1-C#

大家好,我是应用程序开发的新手,想知道如何将包含值的文本框传输到另一个页面。我的代码如下:

篮子按钮

 private void Confirm_Click(object sender, RoutedEventArgs e)
    {
        Frame.Navigate(typeof(Confirmation) , Totaltxt_TextChanged = TotalValue); 

    }

需要发送信息的OnNav

   protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        Basket Basket = e.Parameter as Basket;

        if (Basket != null) 
        {
            COsttxt.Text = string.Format("{0:C}", Basket.Totaltxt_TextChanged);
        }
    }

我已经尝试只使用 TotalValue,这是需要发送的主要值,但似乎有效我什至将它设置在 NavTo 页面的文本框中:

        <TextBox x:Name="COsttxt" HorizontalAlignment="Left" Height="58" Margin="229,258,0,0" TextWrapping="Wrap" Text="{Binding TotalValue}" VerticalAlignment="Top" Width="131" TextChanged="COsttxt_TextChanged"/>

那么有没有办法只从 Basket.xaml 发送 Totaltxt 文本框并使文本框值显示在 Confirmation.xaml 中?

您正在向确认页面传递一个参数,我确定它不是篮子类型,因此当您进行 as 转换时,您得到的是空值。

你应该简单地 passing/reading TotalValue 这样:

private void Confirm_Click(object sender, RoutedEventArgs e)
{
    Frame.Navigate(typeof(Confirmation) , TotalValue);
}

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    var totalValue = e.Parameter as string; // or 'as' whatever is type of TotalValue

    if (totalValue != null) 
    {
        COsttxt.Text = string.Format("{0:C}", totalValue);
    }
}

编辑:传递最终文本框值如下,其余代码保持不变:

Frame.Navigate(typeof(Confirmation) , textboxName.Text);