Xamarin формы как сохранить текст метки после анимации метки

Я хотел бы выяснить, как сохранить мой текст метки появляются после завершения анимации метки. Моя идея заключается в том, что у меня есть ярлык сверху и поле ввода позади него. Пока нет текста в записи, моя метка пуста, но когда я начинаю вводить свою метку, она появляется с анимацией снова и снова после каждого нового введенного символа. Я уже сделал это, но я не хочу, чтобы он появился с анимацией один раз, а затем продолжать показывать мой обычный ярлык без повторения анимации. Потому что теперь мой ярлык показывает с анимацией и не держит, он исчезает сразу.

Вот мой код xaml:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage 
             
             x_Class="Project.MyPage">
  <ContentPage.Content>
    <StackLayout Padding="7,7,7,7" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" Spacing="0">
              <StackLayout BackgroundColor="White">
              <Label x_Name="NameText"  />
              <Entry x_Name="Name"  />
              </StackLayout>                    
    </StackLayout>  
  </ContentPage.Content>
</ContentPage>

а вот мой C# код с EventHandler: TextChange

public MyPage()
{
   InitializeComponent();
   Name.TextChanged += Name_TextChanged;
}
private async void Name_TextChanged(object sender, TextChangedEventArgs e)
{
   NameText.Animate("nameAnimation", new Animation(v => NameText.Scale = v, 1, 2, Easing.SpringIn));
   NameText.Text = "MyLabel";
}

Как моя метка появиться и завершить действие анимации только один раз?
Спасибо за ответы или предложения.

1 ответ

  1. Отсоедините обработчик после анимации:

    async void Name_TextChanged(object sender, TextChangedEventArgs e)
    {
      NameText.Animate("nameAnimation", new Animation(v => NameText.Scale = v, 1, 2, Easing.SpringIn));
      NameText.Text = "MyLabel";
      Name.TextChanged -= Name_TextChanged;
    }