поместите удивительные иконки шрифтов в код c # - PullRequest
3 голосов
/ 15 февраля 2020

В настоящее время я могу измерить впечатляющие значки шрифтов на своей странице с помощью вкладок из кода XAML следующим образом:

<ContentPage.IconImageSource>
    <FontImageSource  FontFamily="{StaticResource Solid }" Glyph="&#xf108;" ></FontImageSource>
</ContentPage.IconImageSource>

Таким образом, я уже могу помещать значки в свои приложения, но я хочу сделать это из код, потому что эта страница с вкладками должна быть создана из определенных действий, и я сделал это следующим образом:

 contenido.IconImageSource  = new ContentPage().IconImageSource {
    new FontImageSource().FontFamily = "\uf108";
};

, но в первом «{» я получаю сообщение об ошибке «Я ожидал одного;»

Обновление

код App.xaml

<Application.Resources>
    <ResourceDictionary>
        <!--Global Styles-->
        <Color x:Key="NavigationPrimary">#2196F3</Color>
        <Style TargetType="NavigationPage">
            <Setter Property="BarBackgroundColor" Value="{StaticResource NavigationPrimary}" />
            <Setter Property="BarTextColor" Value="White" />
        </Style>

        <OnPlatform x:TypeArguments="x:String" 
            x:Key="Brands">
            <On Platform="Android" 
      Value="BrandsRegular.otf#Regular" />
        </OnPlatform>

        <OnPlatform x:TypeArguments="x:String" 
            x:Key="Regular">
            <On Platform="Android" 
      Value="FreeRegular.otf#Regular" />
        </OnPlatform>

        <OnPlatform x:TypeArguments="x:String" 
            x:Key="Solid">
            <On Platform="Android" 
      Value="FreeSolid.otf#Regular" />
        </OnPlatform>


    </ResourceDictionary>
</Application.Resources>

1 Ответ

2 голосов
/ 15 февраля 2020

Вам не нужно создавать новый ContentPage, просто создайте объект FontImageSource и установите соответствующие значения, а затем передайте этот объект в IconImageSource вашей contenido страницы.

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

Примерно так должно работать:

var solidFontFamily = Application.Current.Resources["Solid"] as OnPlatform<string>;
contenido.IconImageSource = new FontImageSource() { FontFamily = solidFontFamily, Glyph= "\uf108" };

Надеюсь, это поможет .-

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