Xamarin.Forms设置默认按钮/背景颜色

时间:2014-09-10 05:15:31

标签: android xamarin xamarin-studio xamarin.forms

有没有办法在Xamarin.Forms中为元素/页面全局配置样式。

目前我有一个Helpers.Colors类,可以单独设置属性 每个按钮和主/详细页面。但是有一个地方会很高兴 配置它。主要是我想摆脱Android所拥有的股票黑暗渐变。

4 个答案:

答案 0 :(得分:0)

截至目前(1.2.3),Xamarin.Forms中没有内置样式。您可以通过以下任一方式实现样式:

  • 子类

    你可以,例如定义你自己的按钮,你可以在其中设置你喜欢的默认值:

    public class MyButton : Button 
    {
        public MyButton ()
        {
            BackgroundColor = Color.Pink;
        }
    }
    

    然后在想要主题按钮的任何地方使用MyButton。

  • 创建扩展方法

    如果不能为您创建子类,那么最干净的解决方案是编写一个扩展方法为您执行此操作:

    public static void SetStyle (this Button button)
    {
        button.BackgroundColor = Color.Pink;
    }
    

    你可以这样使用它:

    var button = new Button();
    button.SetStyle ();
    

答案 1 :(得分:0)

另一种可能是使用本机平台功能,在IOS上你可以使用Apperance API,在Android上使用Syles和Themes。

答案 2 :(得分:0)

虽然Xamarin.Forms中没有内置样式,但我在6月份实施了快速回复以回答此StackOverflow问题:Is there any way to separate the styling from my XAML in Xamarin.Forms

代码在答案中:https://stackoverflow.com/a/24430820/1063783

它不是一个完整的Style实现,但它确实符合您的需求。

答案 3 :(得分:0)

现在使用1.3,您可以使用非常类似于WPF的样式。有关详细信息,请查看此guide