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

0 c# xamarin.android autoscaling xamarin

        <Label x:Name="mainLabel" 
           Grid.Row="0" 
           Grid.Column="0" 
           FontSize="50" 
           Grid.ColumnSpan="3"
           Grid.RowSpan="2"
           VerticalOptions="CenterAndExpand" 
           HorizontalOptions="CenterAndExpand" />
Run Code Online (Sandbox Code Playgroud)

我正在制作一个电话拨号界面,并且有一个标签可以输出按下的号码。

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

我尝试了一整天的谷歌搜索,但所有的样本都已经过时了。

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

has*_*mks 5

您可以为 Label 设置具有绑定属性的 FontSize。

例如:

<Label x:Name="mainLabel" 
           Grid.Row="0" 
           Grid.Column="0" 
           FontSize= "{Binding LabelFont}"
           Grid.ColumnSpan="3"
           Grid.RowSpan="2"
           VerticalOptions="CenterAndExpand" 
           HorizontalOptions="CenterAndExpand" />
Run Code Online (Sandbox Code Playgroud)

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

标签的 TextChanged 事件可以按照此链接中提到的方式实现