Xamarin формы: словарь ресурсов - установить семейство шрифтов для метки, просмотра текста и кнопок - PullRequest
0 голосов
/ 06 июня 2018

Я хочу установить информацию о шрифте в словаре ресурсов, который используется надписями, кнопками, текстовыми представлениями.

<OnPlatform x:TypeArguments="x:String" x:Key="HelveticaNeue">
                <On Platform="iOS">HelveticaNeue</On>
                <On Platform="Android">HelveticaNeue#HelveticaNeue</On>
            </OnPlatform>

            <Style x:Key="style1" TargetType="Font">
                <Setter Property="FontFamily" Value="{StaticResource HelveticaNeue}" />
                <Setter Property="FontSize" Value="23" />
            </Style>

Я пробовал приведенный выше код, но он не работает, потому что в типе Font the FontFamilyЗадать свойство является частным.Для ключа style1, если я установлю тип цели как метку или кнопку, это сработает.Есть ли способ установить информацию о шрифте (которая включает в себя семейство и размер шрифта) в словаре ресурсов одновременно, который можно использовать для надписей, кнопок и текстовых представлений, не дублируя один и тот же тип для другого целевого типа?

1 Ответ

0 голосов
/ 06 июня 2018

Обычно у меня есть 3 различных ресурса:

  • Шрифт
  • TextSize
  • Стиль для элемента управления

Пример:

<OnPlatform
    x:Key="MediumFontFamily"
    x:TypeArguments="x:String"
    Android="sans-serif-medium"
    iOS="HelveticaNeue-Medium" />

<x:Double x:Key="TitleFontSize">20</x:Double>

<Style x:Key="TitleLabel" TargetType="Label">
    <Setter Property="TextColor" Value="{StaticResource HeaderTextColor}" />
    <Setter Property="FontFamily" Value="{StaticResource MediumFontFamily}" />
    <Setter Property="FontSize" Value="{StaticResource TitleFontSize}" />
</Style>

Таким образом, дублирования не должно быть, поскольку вы просто повторно используете ресурсы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...