2014-09-10 3 views
1

Есть ли способ глобально настроить стили для элементов/страниц в Xamarin.Forms.Xamarin.Forms Set Default Button/Background Color

В настоящее время у меня есть класс Helpers.Colors и вы можете установить свойства по отдельности на каждой кнопке и на странице мастера/подробностей. Но было бы неплохо иметь одно место для настройки . В основном я хочу отойти от темного градиента запаса, который имеет андроид.

ответ

0

Другая возможность может использовать собственные возможности платформы для этого, на IOS вы могли бы использовать API-интерфейс Apperance, а также на Android Syles и Themes.

+0

спасибо, что похоже, что это может быть хорошим решением – BillPull

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(); 
    
0

Несмотря на отсутствие встроенного стиля в Xamarin.Forms, я реализовал быстрый ответ в июне, чтобы ответить на этот вопрос StackOverflow: Is there any way to separate the styling from my XAML in Xamarin.Forms.

Код в ответ: https://stackoverflow.com/a/24430820/1063783

Это не полная реализация Стиль, как можно было бы хотеть, но это, безусловно, соответствует вашим потребностям.

0

Теперь с 1.3 вы можете использовать стили очень похоже на то, как вы знаете это из WPF. Ознакомьтесь с этим guide.