Как установить жирный шрифт метки Xamarin.Forms

StackOverflow https://stackoverflow.com//questions/25085431

  •  02-01-2020
  •  | 
  •  

Вопрос

В Xamarin.Forms я использую Этикетка и пытаюсь установить Шрифт.

Следующий код работает: -

Label label1 = new Label();
label1.Font = Font.SystemFontOfSize(10);

Однако пытаясь указать Атрибуты шрифта такие как:-

Label label1 = new Label();
label1.Font = Font.SystemFontOfSize(10, FontAttributes.Bold);

препятствует КонтентПейдж от рендеринга с исключением.

Eсть Font.BoldSystemFontOfSize(), который можно использовать, однако он считается устаревшим, поэтому сейчас я пытаюсь использовать Font.SystemOfSize вместо.

Как это делается с помощью этого?

Это было полезно?

Решение

Вот кусок кода, который работает в моем проекте:

new Label {
   Text = "text goes here",
   Font = Font.SystemFontOfSize (NamedSize.Medium)
              .WithAttributes (FontAttributes.Bold),
}
.

Это позволяет вам не указывать определенный размер шрифта и вместо этого использовать размер шрифта, используемый по умолчанию для метки

Другие советы

Я думаю, я опоздал на ответ. Но все же я хотел бы упомянуть, что это можно сделать с помощью XAML сейчас. Следующий XAML даст желаемый выход.

<Label Text="Hello Label" FontSize="20" FontAttributes="Bold"/>
.

Вы можете ссылаться на следующую ссылку для работы с шрифтами в Xamarin.Forms.

Работа с шрифтами в xforms

После документации xamarin.forms - работа со шрифтами, вы должны использовать следующий код:

Label label1 = Font.SystemFontOfSize (10, FontAttributes.Bold | FontAttributes.Italic)
.

такая же страница заявляет, что boldsestemfontofsize устарел.

Если вам нужно больше одного места, где требуется смелый шрифт, вы будете лучше создавать стиль.И глобально в приложении .CS с или без ключа или на уровне страницы.Вы можете установить все свойства, которые вы хотите, чтобы соответствующие значения и используете везде, куда вы хотите.

Для справки проверьте эту проверку Страница

У меня была похожая ситуация, когда FontAttributes="Bold" этикетки внутри DataTemplate для ListView не отображались жирным шрифтом в iOS.Андроид отрисовывался нормально.

Когда не в пределах DataTemplate, жирным шрифтом Label отображено правильно.

Причина заключалась в том, что шрифт по умолчанию не имел полужирного шрифта, доступного в iOS.Когда я добавил Font="Arial" к Label, он правильно отображал жирный шрифт в iOS.

Я делюсь этим на случай, если у кого-то еще возникнет такая же проблема.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top