Xamarin中如何在屏幕显示文本?Label不显示问题求助
Xamarin Label文本不显示的排查方案
先查Label本身的基础设置
- 确认
IsVisible没设成false,默认是true,别手滑改了 - 核对
TextColor和父布局的BackgroundColor,别搞成同色——比如背景白、文本也白,等于没显示 - 检查
FontSize,别设成0或者极小值,肉眼根本看不到 - 打个断点或者输出日志,确认
Text属性确实有值,不管是XAML写死还是后台赋值,别是空的
- 确认
排查布局容器的问题
- 如果Label在
StackLayout、Grid里,先看布局本身的IsVisible、Opacity,别布局自己就隐藏了 - 看Grid的行/列定义,是不是Label所在行高/列宽设成了
0?或者Auto但内容没撑开?比如Grid行高设0,Label直接被挤没了 - 有没有其他控件压在Label上面?比如一个占满屏幕的Image或者Button,把Label完全挡住了,调整控件顺序或者布局位置试试
- 如果Label在
用了数据绑定的话重点查这些
- 确认ViewModel已经赋值给页面的
BindingContext,别光写了绑定没给数据源 - 检查绑定路径的拼写,别ViewModel里的属性名是
UserName,绑定写成UserName1 - ViewModel里的属性必须实现
INotifyPropertyChanged接口,不然属性更新了UI也不会同步
- 确认ViewModel已经赋值给页面的
项目和模拟器的通用解决办法
- 清理项目再重新生成——右键项目选「清理」,再选「重新生成」,有时候编译缓存会搞鬼
- 重启模拟器,甚至删掉现有模拟器重新建一个,部分模拟器的缓存问题会导致UI显示异常
- 确认当前运行的是你修改的那个页面,别跑错了其他页面或者测试项目
内容的提问来源于stack exchange,提问作者Yigit77
相关产品推荐
相关产品推荐

