Xamarin构建全局样式通用Windows平台

时间:2016-04-15 18:39:05

标签: xamarin styles win-universal-app uwp-xaml

我目前正在开发Xamarin.Forms应用程序,并且专门应用样式。我已经看到了所需平台项目的App.xaml文件中放置的全局样式示例,并且您可以使用DynamicResource引用引用全局声明的样式,如下所示:

在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

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

我的印象是这个文字应该是紫色的,但事实并非如此。我可以使用在其使用的页面中定义的Label来设置ResourceDictionary的样式,但是我不能在全局中使用它。

有趣的是,如果我声明一个隐式的全局样式,它可以工作:

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

当我尝试使用x:Key="myVariable"的显式全局样式时它不起作用。

tldr;全局显式样式对我不起作用(但全局隐式样式正在起作用)

任何想法Stack Community?谢谢!

1 个答案:

答案 0 :(得分:0)

您应该在公共项目的app.xaml中定义它,而不是在UWP app.xaml中定义它。

我认为这是我自己的作品。