0

我目前正在开发一个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}" />

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

有趣的是,如果我声明一个隐式全局样式,它会起作用:

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

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

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

任何想法堆栈社区?谢谢!

4

1 回答 1

0

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

我看到这对我自己有效。

于 2016-10-06T07:00:23.317 回答