Xamarin.Forms部署崩溃:无法将TEAL转换为SYSTEM.DOUBLE
问题分析与解决方案
嘿,我一眼就揪出问题啦!你遇到的System.InvalidOperationException: Cannot convert TEAL into SYSTEM.DOUBLE崩溃,根源出在你的XAML代码里:
return (<Label Text="MVVM, Search Page" FontSize="Teal"/> )
FontSize属性要求的是数值类型(比如16、24)或者Xamarin.Forms预定义的字体大小枚举值(比如Small、Medium、Title这类),但你误把颜色值Teal填到了FontSize里——系统试图把字符串"Teal"转换成double类型的字体大小,这显然行不通,直接导致页面初始化时崩溃。
修改后的XAML代码
把那行Label代码改成下面这样,把FontSize换成合适的大小,同时如果需要设置文本颜色,用TextColor属性:
<Label Text="MVVM, Search Page" FontSize="Large" TextColor="Teal"/>
也可以用具体数值自定义大小:
<Label Text="MVVM, Search Page" FontSize="22" TextColor="Teal"/>
额外小提醒
- 文本颜色要通过
TextColor属性设置,别和FontSize搞混; - Xamarin.Forms提供了
Body、Caption、Headline这类自适应平台的字体枚举值,用它们能让字体在不同设备上显示更合理; - 以后遇到XAML初始化崩溃,优先检查属性值和属性类型是否匹配,这类类型不匹配的错误是新手常踩的小坑哦。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

