Xamarin 中的自动缩放标签字体大小

Auto-scaling label fontsize in Xamarin

        <Label x:Name="mainLabel" 
           Grid.Row="0" 
           Grid.Column="0" 
           FontSize="50" 
           Grid.ColumnSpan="3"
           Grid.RowSpan="2"
           VerticalOptions="CenterAndExpand" 
           HorizontalOptions="CenterAndExpand" />

我正在制作一个 phone 拨号界面,我有一个标签可以输出按下的数字。

问题:如何使标签的字体大小根据输入的数字减小和增大,使其适合标签?

我尝试谷歌搜索一整天,但所有示例都已过时。

我正在使用最新版本的 Xamarin 和 android API 27.

您可以为标签设置绑定 属性 的 FontSize。

例如:

<Label x:Name="mainLabel" 
           Grid.Row="0" 
           Grid.Column="0" 
           FontSize= "{Binding LabelFont}"
           Grid.ColumnSpan="3"
           Grid.RowSpan="2"
           VerticalOptions="CenterAndExpand" 
           HorizontalOptions="CenterAndExpand" />

您可以为标签触发 TextChanged 事件,您可以在其中检查标签文本的长度超过某个值更改为所需大小,以及长度是否小于某个值。

Label 的 TextChanged 事件可以按照

中所述实现