在WindowsPhone中为同一屏幕传递几个参数

时间:2015-10-06 22:17:24

标签: windows-phone-8.1 windows-phone

大家晚上好

我正在尝试在错误的同一屏幕上传递两个对象以传递第二个。我想知道如何在主屏幕上处理这张收据。

我将尝试在下面举一个例子:

首先为屏幕客户端发送一个对象参数

private void btTelaPedido (object sender, TappedRoutedEventArgs e) {
Customer customer = new Customer ();
    customer.custid = Convert.ToInt32 (tbCodCliente.Text);
    cliente.razao = tbNomeCliente.Text;

    Frame.Navigate (typeof (pedidoTelaCadastro), client);

}

然后转到另一个屏幕并发送另一个对象

private void listaProduto_SelectionChanged (object sender, SelectionChangedEventArgs e) {
            Product produtoEscolhido = (sender the ListView) .SelectedItem the product;
            Frame.Navigate (typeof (pedidoTelaCadastro), produtoEscolhido);
        }

即在主屏幕上接收代码。

protected override void OnNavigatedTo (NavigationEventArgs e) {
            this.navigationHelper.OnNavigatedTo (e);

 ClienteRecebido customer = (customer) e.Parameter;
                tbIdCliente.Text = Convert.ToString (clienteRecebido.idCliente);
                tbCliente.Text = clienteRecebido.razao;
                tbDataPedido.Text = "01/01/2015";

            ProdutoRecebido product = (Product) e.Parameter;
            tbProduto.Text = Convert.ToString (produtoRecebido.descricao);

        }

我想知道他是如何对待的

1 个答案:

答案 0 :(得分:0)

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    this.navigationHelper.OnNavigatedTo(e);
    Customer clienteRecebido =  e.Parameter as Customer;
    if(clienteRecebido !=null)
    {
        tbIdCliente.Text = Convert.ToString (clienteRecebido.idCliente);
        tbCliente.Text = clienteRecebido.razao;
        tbDataPedido.Text = "01/01/2015";
    }
    else
    {
        ProdutoRecebido product = (Product) e.Parameter;
        tbProduto.Text = Convert.ToString (produtoRecebido.descricao);
    }
}