如何在Xamarin.Forms中为特定控件定义样式资源?
问题描述:
我是Xamarin和Xamarin.Form的新手,基本上我想为控件定义样式。如何在Xamarin.Forms中为特定控件定义样式资源?
就像当我放置Label控件时,它应该在整个页面中遵循相同的风格。我读过一篇文章,它可以通过定义标签的样式做,但不知道怎么的地方..
- 如何定义1页
- 如何在全球范围内定义将被应用到所有网页
- 如何定义特定的设备
任何人都可以提供一些示例代码/链接一样吗?
在此先感谢!
答
如果您正在通过XAML进行操作,那么:
- 如果是每页,则使用resources。
- 针对特定的设备,使用OnPlatform类
- 有没有全球性的资源,目前
如果您在代码中创建你的东西,然后应用你所希望的任何全局值,当你创建它们。如果有平台特定值,则使用Device class。
HTH
答
每页资源,您可以创建文件的公共文件夹,例如可能具有条目,如
public static readonly Color ActivityIndicator = Color.Blue;
然后,您可以使用您的XAML这样
“ColorResources”<ActivityIndicator IsRunning="{Binding IsLoading}"
Color="{x:Static common:ColorResources.ActivityIndicator}" />
(记住声明您共同命名空间)
对于跨页,我推荐一个自定义rendere r,由原来的控制器构建而成,可以根据需要定制。你可以在这里找到更多Custom Renderers
+0
我想直接应用每个控件,而不是为每个控件应用静态资源或任何其他资源。 – 2014-09-24 14:54:36
我已经阅读过这些链接,但这不足以解决我的问题。例如,我的网页上有50个标签,所有50个标签都应用相同的样式。 – 2014-09-24 11:20:10
那么,在初始化XAML后,您仍然可以“后处理”XAML,然后漫游视图层次结构并以这种方式应用属性。这会为你做吗? – 2014-09-24 18:02:56