【发布时间】:2010-08-06 10:09:17
【问题描述】:
我有三个页面,为了导航到每个页面,我将一个属性绑定到 Frame 的 Source 属性。如果我只是正常浏览页面,它工作得很好,但是在调用 GoBack 方法后,Frame 突然停止工作。如果我直接为 Source 属性设置 uri 而不是使用绑定,它可以正常工作,我实际上是使用 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);
}
有谁知道如何解决这个问题?我尝试了几种方法,但对我没有任何效果。
提前致谢,
哟
【问题讨论】:
标签: silverlight silverlight-4.0