Как создать собственный размер шрифта в xaml с помощью Xamarin, чтобы вы могли изменять размеры шрифта в зависимости от устройства? - PullRequest
2 голосов
/ 06 января 2020

Есть ли способ создать пользовательский размер шрифта, который будет работать так же, как Micro или Small или Title, которые уже встроены в Xamarin. Я хочу иметь возможность использовать его следующим образом:

<Label Text="Test" FontSize="MyFontSize"/>

Я думаю, что будет реализовано что-то вроде следующего в моем словаре ресурсов, но это не работает:

<FontSize x:Key="MyFontSize">
    <OnPlatform x:TypeArguments="FontSize">
        <On Platform="UWP">25</On>
        <On Platform="iOS">12</On>
    </OnPlatform>
</FontSize>

Ошибка говорит:

"Тип FontSize не найден"

Это не ошибка времени выполнения. Это просто зеленое подчеркивание в редакторе XAML.

Можно ли это сделать?

1 Ответ

3 голосов
/ 06 января 2020

Вам нужно использовать x:Double вместо:

<OnPlatform x:Key="MyFontSize" x:TypeArguments="x:Double">
    <On Platform="UWP">25</On>
    <On Platform="iOS">12</On>
</OnPlatform>

А затем ссылаться на ресурс следующим образом:

<Label Text="Test" FontSize="{StaticResource MyFontSize}"/>

Или вы можете указать его непосредственно в представлении:

<Label Text="Test">
   <Label.FontSize>
      <OnPlatform x:TypeArguments="x:Double">
          <On Platform="UWP">25</On>
          <On Platform="iOS">12</On>
      </OnPlatform>
   </Label.FontSize>
</Label>
...