如何在纯按钮单击处理程序中刷新ContentPage

时间:2017-09-23 08:44:24

标签: xamarin xamarin.forms

上下文

我想诊断一个绑定问题。在没有公开问题细节的情况下,我决定在我的ContentPage上放置一个诊断按钮,并希望以最最纯粹的愚蠢方式编写刷新,只是为了看看,已绑定的内容是否以这种方式显示。

问题

所以我有我的按钮及其事件处理程序,我无法弄清楚如何调用Refresh或类似的东西?

public partial class MainView : ContentPage
{
    public MainView()
    {
        InitializeComponent();
    }

    void OnButtonClicked(object sender, EventArgs args)
    {
        // I would like to refresh this contentpage here:
    }
}

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用Navigation.PushAsyncApp.Current.MainPage = new MainView()重置用户界面。

但是如果你想简单地重新构建视图,那么我想调用InitializeComponent就可以了。

void OnButtonClicked(object sender, EventArgs args)
{
    var viewModel = BindingContext;

    BindingContext = null;
    InitializeComponent();

    BindingContext = viewModel;
}
  

注意:此代码仅重新构建视图(不是绑定数据) - 假设您不想使用导航或设置MainPage技巧 - 刷新UI。