Xamarin と mvvmcross を使用して、カスタム バインドを作成し、ラベルにフォントを指定しました。次に、コンバーターを使用して文字列をフォントに変換しました。
カスタム バインド:
public class LabelFontTargetBinding : MvxTargetBinding
{
public LabelFontTargetBinding(UILabel label)
: base(label)
{
}
public override void SetValue(object value)
{
Label.Font = (UIFont) value;
}
}
コンバータ:
public class StringToFontConverter : MvxValueConverter<string, UIFont>
{
protected override UIFont Convert(string value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return UIFont.FromName(value, 80.0f);
}
}
これは、label.AdjustsFontSizeToFitWidth = true;
. この場合、フォント サイズは常に になります80.0f
。
AdjustsFontSizeToFitWidthをオーバーライド(上書き?)せずにUIFontをUILabelにバインドする別の方法はありますか?