How to: Get the Return Value of a Page Function

This example shows how to get the result that is returned by a page function.

Example

To get the result that is returned from a page function, you need to handle Return of the page function you are calling.

<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

See also