Xamarin Forms如何在axml页面为Label的"Code:"文本设置粗体?
实现Label中部分文本粗体的方法
当然可以实现!在Xamarin.Forms的XAML页面里,你没法直接通过StringFormat给文本的某一部分单独设置样式,不过可以借助FormattedText属性来创建富文本内容,完美满足你的需求。
具体的实现代码如下:
<Label FontSize="Small" Grid.Row="0" Grid.Column="0" VerticalOptions="Center"> <Label.FormattedText> <FormattedString> <Span FontAttributes="Bold" Text="Code:" /> <Span Text="{Binding ItemCode, StringFormat=' {0}'}" /> </FormattedString> </Label.FormattedText> </Label>
代码说明:
- 我们把原来的
Text属性替换成了FormattedText,它可以包含多个Span元素,每个Span都能单独设置样式和文本内容。 - 第一个
Span设置FontAttributes="Bold",文本固定为"Code:",实现粗体效果。 - 第二个
Span通过绑定获取ItemCode的值,并且用StringFormat在前面加了一个空格,让"Code:"和后面的代码值之间有合适的间距。
如果之后需要给不同部分设置其他样式(比如颜色、字号),直接给对应的Span添加TextColor、FontSize等属性即可。
内容的提问来源于stack exchange,提问作者Riccardo Pezzolati
相关产品推荐
相关产品推荐

