У меня есть три страницы, и для перехода к каждой странице я привязываю свойство к свойству Source фрейма.Это работает довольно хорошо, если я просто перемещаюсь по страницам в обычном режиме, но после вызова метода GoBack, Frame внезапно перестал работать.Если я устанавливаю uri для свойства Source напрямую, а не для привязки, он работает нормально, хотя на самом деле я использую MVVM, поэтому я не хочу устанавливать свойство Source напрямую.
- xaml-
<navigation:Frame x:Name="_frame" Source="{Binding CurrentPage}"/>
- Код позади -
Uri _currentPage;
public Uri CurrentPage
{
get { return _currentPage; }
set
{
_currentPage = value;
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs("CurrentPage"));
}
}
// back
private void Button_Click(object sender, RoutedEventArgs e)
{
if ( _frame.CanGoBack)
_frame.GoBack();
}
// test1
private void Button_Click_1(object sender, RoutedEventArgs e)
{
CurrentPage = new Uri("/TestPage1.xaml", UriKind.Relative);
}
// test2
private void Button_Click_2(object sender, RoutedEventArgs e)
{
CurrentPage = new Uri("/TestPage2.xaml", UriKind.Relative);
}
// test3
private void Button_Click_3(object sender, RoutedEventArgs e)
{
CurrentPage = new Uri("/TestPage3.xaml", UriKind.Relative);
}
Кто-нибудь знает, как обойти эту проблему?Я пробовал несколько способов, но у меня ничего не работает.
Заранее спасибо,
Yoo