You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xamarin.Forms Entry聚焦失焦Label动画失效及空值判断咨询

问题根因

Entry控件的Text属性默认初始值为null,而非空字符串""。你直接使用email.Text == ""做判断时,未输入过内容的场景下null == ""的结果为false,所以回落动画不会触发。只有当用户输入过内容再清空后,Text属性会被赋值为"",这时候判断逻辑才会生效,和你观察到的异常表现完全一致。

正确判断方法

Xamarin.Forms中判断Entry是否为空,直接使用.NET内置的字符串判断工具方法即可,覆盖所有空值场景:

  • 若要判断完全无输入(包含null、空字符串两种情况),使用string.IsNullOrEmpty()
  • 若要把全空格的情况也判定为空,使用string.IsNullOrWhiteSpace()

修改后的代码示例

将原有Unfocused事件里的判断条件替换即可,以邮箱输入框为例:

private void Email_Unfocused(object sender, FocusEventArgs e)
{
    if(string.IsNullOrEmpty(email.Text))
    {
        emailAnimate.TranslateTo(0, 0, 100);
        emailAnimate.ScaleTo(1, 100);
    }
}

密码输入框的Unfocused事件同理修改为string.IsNullOrEmpty(password.Text)即可正常触发回落动画。


内容的提问来源于stack exchange,提问作者rana hd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 18:09:02