我在带有XAML页面的PCL中使用Xamarin.Forms . 我想出的控制样式的唯一方法是使用内联语法 .
<Button Text="Inquiry" TextColor="Blue" />
我更喜欢使用像这样的结构:
<Page.Resources>
<Style TargetType="Button">
<Setter Property="BorderThickness" Value="5" />
<Setter Property="Foreground" Value="Blue" />
</Style>
</Page.Resources>
(http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh465381.aspx)
但是,尚未支持Style元素 . 有没有人成功地将布局与内容分开?
FYI: 我也在Xamarin论坛发布了这个问题,所以任何通过谷歌到这里的人都想查看这个页面:http://forums.xamarin.com/discussion/19287/styling-of-xamarin-xaml#latest
5 回答
从Xamarin.Forms 1.3您可以获得更多样式选项 .
Xamarin.Forms 1.3 Technology Preview
支持XAML和代码中的样式
允许样式通过Style.BaseResourceKey基于DynamicResources
通过Device.Styles添加平台特定样式(支持iOS动态类型)
风格并不那么难[引证需要] . 您可以实现自己的,就像我刚才为了这个答案所做的那样 .
这是Xaml的样子:
支持代码如下:
显然,执行分配的代码非常轻,您可能必须根据需要进行调整(支持枚举等),但它适用于这种简单的情况 .
我相信它会有所帮助 .
样式支持现已推出:
我能够创建更接近我在WPF / Silverlight中更习惯的ResourceDictionary的代码,并将其从实际页面中删除(视图)
}
然后我可以使用StaticResource在我的页面上使用该样式
可能有很多种方式,甚至可能更好 - 但这有助于我将所有风格保存在一个位置(App.xaml)
附:我没有格式化代码隐藏的例子,我已经尝试了几次但希望你仍然能理解它 .
我正在考虑使用Xamarin Forms作为Silverlight开发人员 .
一种可选的方法是在XAML或代码中创建自己的控件(Xamarin术语中的“Views”),并在构建界面时使用它们 .