使用刷新数据Xamarin Forms返回上一页

时间:2016-09-15 11:39:52

标签: xamarin.forms

在主页面中我有一个按钮创建帖子。当我点击它时,我会收到编辑。输入一些文字后,我点击按钮savePost。然后发送保存到服务器并返回到我的主页面,但我的墙上没有新帖子。我需要刷新该页面以查看我的新帖子。在单击按钮savePost后,如何编写代码以在主页上使用我的新帖子接收上一页?

        Button savePost = new Button {Text = "Save post"};
        stackLayout.Children.Add(savePost);
        savePost.Clicked += (sender, args) =>
        {
            var restService = new RestServiceImpl(UserService.User.AccessToken);
            PostView post = new PostView
            {
                Text = textEditor.Text,
            };
            restService.CreatePost(post);
            Navigation.PopAsync();
        };

1 个答案:

答案 0 :(得分:4)

有几种方法可以解决这个问题。最简单的一个是在页面的OnAppearing事件上实现一些机制,只是在那里重新加载,或者想一些检测重新加载的方法,而不仅仅是重新加载。这可以通过例如在'restService.CreatePost(post);之后设置为true的bool来完成。线。

那种让我走向另一个方向。当您使用某种MVVM框架时(例如,查看FreshMvvm),您可以在弹出PageModel时执行一些代码。因此,您可以更精细地控制何时重新加载并检测是否有必要。

另一种方法是使用MessagingCenter。您可以随时(以及从哪里)重新加载发送消息,并让需要重新加载的页面订阅,并在收到正确的消息时执行重新加载代码。

这完全取决于您的要求和代码结构。