Xamarin Forms Global Styles Универсальная платформа Windows

В настоящее время я работаю над Xamarin.Forms приложением и специально применяю стили. Я видел примеры глобальных стилей, помещенных в App.xaml файл желаемого проекта платформы, и у меня сложилось впечатление, что вы можете ссылаться на глобально объявленные стили с помощью DynamicResourcereference, например, ниже:

в UWP App.xaml

<Application
    <Application.Resources>
        <ResourceDictionary>
            <Style x:Key="myLabel" TargetType="TextBlock">
                <Setter Property="Foreground" Value="Purple" />
            </Style>
        </ResourceDictionary>
    </Application.Resources>
</Application>

Затем в Login.xaml в Portable Project

<Label Text="hey hey im purple" Style="{DynamicResource myLabel}" />

У меня сложилось впечатление, что этот текст должен быть фиолетовым, но это не так. Я могу стилизовать Label, используя ResourceDictionary, определенный на странице, на которой он используется, однако я не могу использовать его в global.

Интересно то, что если я объявляю неявный глобальный стиль, он работает:

<Style TargetType="TextBlock">
    <Setter Property="Foreground" Value="Purple" />
</Style>

Когда я пробую использовать явные глобальные стили с x:Key="myVariable", это не работает.

tldr; глобальные явные стили у меня не работают (но глобальные неявные стили работают)

Есть идеи Stack Community? Спасибо!


person indubitablee    schedule 15.04.2016    source источник


Ответы (1)


Вы должны определить это в app.xaml вашего общего проекта вместо того, чтобы определять это в UWP app.xaml.

Я сам вижу, что это работает.

person bjh    schedule 06.10.2016