안녕하세요.
Page를 프레임에서 Navigate 할 때 Page 내 Property를 바인딩하는 방법에 대해서 질문 드립니다.
[MyPage.xaml]
public partial class MyPage : Page
{
#region dependency property
public static readonly DependencyProperty StrProperty = DependencyProperty.Register("Str", typeof(string), typeof(MyPage), new PropertyMetadata(null, new PropertyChangedCallback(StrChangedCallback)));
#endregion
#region public property
public String Str
{
get => GetValue(StrProperty) as string;
set => SetValue(StrProperty, value);
}
#endregion
#region callback
private static void StrChangedCallback(object sender, DependencyPropertyChangedEventArgs e)
{
if (sender != null && sender is MyPage)
{
MyPage mypage = sender as MyPage;
mypage.OnStrChanged(e.OldValue, e.NewValue);
}
}
#endregion
#region protected method
protected void OnStrChanged(object oldValue, object newValue)
{
Str = newValue as string;
}
#endregion
public MyPage()
{
InitializeComponent();
}
}
[MainWindows.xaml.cs]
MyFrame.Navigate("MyPage.xaml");
MainWindows에서 MyPage를 정의하는게 아니라서 프로퍼티에 바인딩 거는 방법을 모르겠습니다.
감사합니다