첨부 소스 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170

▶ TestPageFunction.xaml

<PageFunction
    x:Class="DS.Test.WPF.TestPageFunction"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:s="clr-namespace:System;assembly=mscorlib" 
    x:TypeArguments="s:String"
    Title="TestPageFunction">

...

</PageFunction>

 

728x90

 

▶ TestPageFunction.xaml.cs

/// <summary>
/// 테스트 페이지 함수
/// </summary>
public partial class TestPageFunction : PageFunction<string>
{
    //////////////////////////////////////////////////////////////////////////////////////////////////// Field
    ////////////////////////////////////////////////////////////////////////////////////////// Private

    #region Field

    /// <summary>
    /// 값
    /// </summary>
    private string value;

    #endregion

    //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
    ////////////////////////////////////////////////////////////////////////////////////////// Public

    #region 생성자 - TestPageFunction()

    /// <summary>
    /// 생성자
    /// </summary>
    public TestPageFunction()
    {
        InitializeComponent();
    }

    #endregion

    #region 생성자 - TestPageFunction(value)

    /// <summary>
    /// 생성자
    /// </summary>
    /// <param name="value">값</param>
    public TestPageFunction(string value) : this()
    {
        this.value = value;
    }

    #endregion

    //////////////////////////////////////////////////////////////////////////////////////////////////// Method
    ////////////////////////////////////////////////////////////////////////////////////////// Private

    #region OK 버튼 클릭시 처리하기 - okButton_Click(sender, e)

    /// <summary>
    /// OK 버튼 클릭시 처리하기
    /// </summary>
    /// <param name="sender">이벤트 발생자</param>
    /// <param name="e">이벤트 인자</param>
    private void okButton_Click(object sender, RoutedEventArgs e)
    {
        OnReturn(new ReturnEventArgs<string>(this.value));
    }

    #endregion

    #region Cancel 버튼 클릭시 처리하기 - cancelButton_Click(sender, e)

    /// <summary>
    /// Cancel 버튼 클릭시 처리하기
    /// </summary>
    /// <param name="sender">이벤트 발생자</param>
    /// <param name="e">이벤트 인자</param>
    private void cancelButton_Click(object sender, RoutedEventArgs e)
    {
        OnReturn(new ReturnEventArgs<string>(null));
    }

    #endregion
}

 

300x250

 

▶ CallTestPageFuncation.xaml

...

<Hyperlink
    Name="hyperlink"
    Click="hyperlink_Click">
    테스트 페이지 함수 호출
</Hyperlink>

...

 

▶ CallTestPageFuncation.xaml.cs

...

#region 테스트 페이지 함수 리턴시 처리하기 - testPageFunction_Return(sender, e)

/// <summary>
/// 테스트 페이지 함수 리턴시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void testPageFunction_Return(object sender, ReturnEventArgs<String> e)
{
    if(e.Result != null)
    {
        Console.WriteLine(e.Result);
    }
}

#endregion

#region 하이퍼링크 클릭시 처리하기 - hyperlink_Click(sender, e)

/// <summary>
/// 하이퍼링크 클릭시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void hyperlink_Click(object sender, RoutedEventArgs e)
{
    TestPageFunction testPageFunction = new TestPageFunction("TestString");

    testPageFunction.Return += new ReturnEventHandler<string>(testPageFunction_Return);

    NavigationService.Navigate(testPageFunction);
}

#endregion

 

728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요