Вот код, который у меня есть:
public partial class UpperLabel : Label
{
public UpperLabel()
{
this.SetDynamicResource(Label.FontFamilyProperty, "Roboto-Regular");
this.SetDynamicResource(Label.FontSizeProperty, "HeaderTextFontSize");
this.SetDynamicResource(Label.TextColorProperty, "HeaderTextColor");
}
}
Моя проблема в том, что я хотел бы сделать так, чтобы метка всегда отображала текст в верхнем регистре. Вот что я хотел бы сделать, но считаю, что это невозможно с учетом имеющегося у меня кода.
public static readonly BindableProperty TextProperty =
BindableProperty.Create(nameof(Text), typeof(string), typeof(Label), default(string));
public string Text {
get
{
var value = (string)GetValue(TextProperty);
return !string.IsNullOrEmpty(value) ? value.ToUpper() : value;
}
set
{
SetValue(TextProperty, value);
}
}
Примечание. Я понимаю, что одним из предложений было бы создать свойство с именем Text1, а затем изменить это значение на верхнее и установить Текст. Также существуют другие решения, такие как включение метки в сетку со свойством Text. Но мне все еще интересно, можно ли что-нибудь сделать, чтобы метка отображалась в верхнем регистре.