Anvisningar: Hämta returvärdet för en sidfunktion

Det här exemplet visar hur du hämtar resultatet som returneras av en sidfunktion.

Exempel

För att få det resultat som returneras från en sidfunktion måste du hantera Return för den sidfunktion som du anropar.

<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

Se även