导航时如何重新加载页面

时间:2014-05-09 04:36:01

标签: c# wpf navigation reload modern-ui

我正在开发WPF MUI应用程序。我使用按钮onclick导航到另一个页面并在page1.xaml上打印一些文本。之后我使用另一个按钮在page1.xaml上打印另一个文本。但是我无法做到这一点。我输出的不是新文本。它只是早期的细节。不能重新加载page1.xaml。导航时我传递参数并根据同一页面上的参数打印参考文字。任何人都可以帮助我吗?

这是我的导航代码

var frame = NavigationHelper.FindFrame(null, this);
frame.Source = new Uri("../Content/Sale/SaleInvoice/Nested/saleNested.xaml", UriKind.Relative);

3 个答案:

答案 0 :(得分:0)

将页面数据绑定到ViewModel。一旦想要刷新,只需创建一个新的Viewmodel。在backgroudworker中执行重新加载是有意义的,这样您的UI就能保持响应。如果您从webService或其他在线资源中刷新某些资源,这将非常有用。

答案 1 :(得分:0)

数据在初始时绑定到页面以使用此方法重新加载页面 在xaml页面上只需添加Loaded Property:

<UserControl x:Class="ModernUINavigationApp1.Pages.Page"
         ...
         Loaded="OnLoad" >

然后在代码后面添加事件处理程序,以使页面在加载时执行任何操作

private void OnLoad(object sender, RoutedEventArgs e)
    {

    }

希望这有帮助:D

答案 2 :(得分:0)

确保您的ViewModel实现INotifyPropertyChanged。如果您的Page1.xaml DataContext设置为ViewModel,并且您的XAML正确使用绑定,则对ViewModel的任何更改都将反映在UI中。你不需要刷新任何东西。只需更新ViewModel对象中的属性即可。

如果您使用示例XAML和C#更新您的问题,我可以提供更多帮助。