我目前正在开发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?谢谢!
答案 0 :(得分:0)
您应该在公共项目的app.xaml中定义它,而不是在UWP app.xaml中定义它。
我认为这是我自己的作品。