我目前正在开发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}" />
我觉得这段文字应该是紫色的,但事实并非如此。我可以使用在所使用的页面中定义的ResourceDictionary
来设置Label
的样式,但我不能在全局中使用它。
有趣的是,如果我声明一个隐含的全局风格,它就会起作用:
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="Purple" />
</Style>
当我尝试用x:Key="myVariable"
显式全局样式时,它不起作用。
tldr;全局显式样式对我不起作用(但全局隐式样式起作用)
Stack社区有什么想法吗?谢谢
您应该在通用项目的app.xaml中定义它,而不是在UWP app.xaml.中定义它
我认为这是我一个人做的。