为什么刷新时 RefreshView 没有更新我的子元素?

Why the RefreshView not updated my child element when I refresh?

这是我的 xaml 文件。

    <RefreshView  x:Name="myRefreshView" Refreshing="myRefreshView_RefreshingAsync" RefreshColor="#b52b2b">
          <ScrollView>
             <StackLayout>
                 <Label Text="{Binding firstName }" />
            </StackLayout>
         </ScrollView>
 </RefreshView>

这是我的 .cs 文件,其中包含一个函数

namespace Health.Views

    {
        public partial class LandingPage : ContentPage
        {
           
            public string firstName { set; get; }
    
            public LandingPage()
            {
            
                firstName = "Mary";
                this.BindingContext = this;
              
            }
    
    
             async void myRefreshView_RefreshingAsync(Object sender, System.EventArgs e)
             {
                 await Task.Delay(3000);
                 firstName = "John";
                 myRefreshView.IsRefreshing = false;
             }
         }
    }

问题是当我刷新时,名字没有更改为“John”。不确定我还需要添加什么。

您需要实施 INotifyPropertyChanged。

public class LandingPage : ContentPage, INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;

    private string _firstName;
    public string firstName { 
        get{return _firstName;}
        set
        {
            _firstName = value;
            OnPropertyChanged("firstName");
        } }


    protected void OnPropertyChanged(string propertyName)
    {
        var handler = PropertyChanged;
        if (handler != null)
            handler(this, new PropertyChangedEventArgs(propertyName));
    }



}