방법: 페이지 함수에서 반환

이 예제에서는 페이지 함수에서 결과를 반환하는 방법을 보여 줍니다.

예제

페이지 함수에서 반환하려면 OnReturn을 호출하고 ReturnEventArgs<T>의 인스턴스를 전달해야 합니다.

<PageFunction
    xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:sys="clr-namespace:System;assembly=mscorlib" 
    x:Class="UsingPageFunctionsSample.GetStringPageFunction"
    x:TypeArguments="sys:String"
    Title="GetStringPageFunction">


...


</PageFunction>
    Partial Public Class GetStringPageFunction
        Inherits PageFunction(Of String)
        Public Sub New()
            InitializeComponent()
        End Sub

        Public Sub New(ByVal initialValue As String)
            Me.New()
            Me.stringTextBox.Text = initialValue
        End Sub

        Private Sub okButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
            ' Page function is accepted, so return a result
            OnReturn(New ReturnEventArgs(Of String)(Me.stringTextBox.Text))
        End Sub

        Private Sub cancelButton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
            ' Page function is cancelled, so don't return a result
            OnReturn(New ReturnEventArgs(Of String)(Nothing))
        End Sub
    End Class
public partial class GetStringPageFunction : PageFunction<String>
{
    public GetStringPageFunction()
    {
        InitializeComponent();
    }

    public GetStringPageFunction(string initialValue) : this()
    {
        this.stringTextBox.Text = initialValue;
    }

    void okButton_Click(object sender, RoutedEventArgs e)
    {
        // Page function is accepted, so return a result
        OnReturn(new ReturnEventArgs<string>(this.stringTextBox.Text));
    }

    void cancelButton_Click(object sender, RoutedEventArgs e)
    {
        // Page function is cancelled, so don't return a result
        OnReturn(new ReturnEventArgs<string>(null));
    }
}

참고 항목

참조

PageFunction<T>