private void BorderlessEntry_Unfocused(object sender, FocusEventArgs e)
        {
            IsHeaderVisible     = !string.IsNullOrEmpty((sender as Entry)?.Text);
            InternalPlaceholder = IsHeaderVisible ? string.Empty : Placeholder;
            InternalBorderColor = BorderColor;

            if (!IsHeaderVisible)
            {
                Device.BeginInvokeOnMainThread(async() =>
                {
                    await FrameHeader.FadeTo(0, length: 100);
                });
            }

            if (Text != null)
            {
                if (Text.Validations?.Any() == true)
                {
                    Text.Validate();

                    IsValidationVisible = !Text.IsValid;
                }
            }

            TextChangedCommand?.Execute(Text);
        }
        private void BorderlessEntry_Focused(object sender, FocusEventArgs e)
        {
            if (!IsHeaderVisible)
            {
                IsHeaderVisible = true;

                Device.BeginInvokeOnMainThread(async() =>
                {
                    await FrameHeader.FadeTo(1, length: 100);
                });
            }

            InternalBorderColor = SelectedBorderColor;
            InternalPlaceholder = string.Empty;
        }