Cómo: Obtener el valor devuelto por una función de página

En este ejemplo se muestra cómo obtener el resultado devuelto por una función de página.

Ejemplo

Para obtener el resultado devuelto por una función de página, necesita controlar el evento Return de la función de página a la que llama.

<Page x:Class="UsingPageFunctionsSample.CallingPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="CallingPage"
    >
    <Hyperlink Name="callPageFunctionHyperlink" Click="callPageFunctionHyperlink_Click">Call Page Function</Hyperlink>
</Page>
void callPageFunctionAndReturnHyperlink_Click(object sender, RoutedEventArgs e)
{
    // Call a page function and hook up page function's return event to get result
    GetStringPageFunction pageFunction = new GetStringPageFunction();
    pageFunction.Return += new ReturnEventHandler<String>(GetStringPageFunction_Returned);
    this.NavigationService.Navigate(pageFunction);
}
void GetStringPageFunction_Returned(object sender, ReturnEventArgs<String> e)
{
    // Get the result, if a result was passed.
    if (e.Result != null)
    {
        Console.WriteLine(e.Result);
    }
}
Private Sub callPageFunctionAndReturnHyperlink_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
    ' Call a page function and hook up page function's return event to get result
    Dim pageFunction As New GetStringPageFunction()
    AddHandler pageFunction.Return, AddressOf GetStringPageFunction_Returned
    Me.NavigationService.Navigate(pageFunction)
End Sub
Private Sub GetStringPageFunction_Returned(ByVal sender As Object, ByVal e As ReturnEventArgs(Of String))
    ' Get the result, if a result was passed.
    If e.Result IsNot Nothing Then
        Console.WriteLine(e.Result)
    End If
End Sub

Vea también