Как включить стили из другого файла XAML с помощью последнего обновления Xamarin Forms - PullRequest
0 голосов
/ 29 ноября 2018

Я определил стили в своем приложении Xamarin Forms отдельно в файле Style.xaml.Теперь я хотел бы включить все стили, присутствующие в Style.xaml, в мой Home.xaml.

Пожалуйста, дайте мне знать решение относительно последнего обновления Xamarin Forms, так как более раннее решение, работающее с более ранними версиями xamarin форм 3.0, не работает с последним обновлением 3.4.

Я не смогуопределить стили в моем App.xaml, так как я следую концепции модулей, используя инфраструктуру PRISM.

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

Что вы хотите сделать, это создать файл ResourceDictionary, а затем ссылаться на него как Style.xaml, так и Home.xaml Xamarin Forms Docs приведен пример для ResourceDictionary.

. По сути, вы создаете свой ResourceDictionary примерно так:

<ResourceDictionary 
    xmlns="http://xamarin.com/schemas/2014/forms"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    x:Class="ResourceDictionaryDemo.MyResourceDictionary">
    <Color x:Key="PrimaryColor">#2196F3</Color>
</ResourceDictionary>

и сохраняете егов файле с именем MyResourceDictionary.xaml.Затем вы называете это в другом файле XAML, например:

<ContentPage ...>
    <ContentPage.Resources>

        <!-- Place other resources here -->

        <ResourceDictionary Source="MyResourceDictionary.xaml" />

    </ContentPage.Resources>

    <Label
        Text="MyLabel"
        TextColor="{StaticResource PrimaryColor}"/>
    ...
</ContentPage>
0 голосов
/ 29 ноября 2018

Если вы используете каскадную таблицу стилей (CSS), вы можете использовать это на каждой странице Xaml.

<ContentPage.Resources>
    <StyleSheet Source="/Resx/Css/Styles.css" />
</ContentPage.Resources>

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

<Button Text="Login" BorderRadius="28" Command="{Binding UserLoginCommand}" VerticalOptions="Center" StyleClass="blueButton"   />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...