2015-02-17 1 views
0

Я пытаюсь создать собственный дизайн для своего приложения. Одна из главных вещей заключается в том, что я хочу заменить цвет акцента своим собственным цветом.Overwrite Accent Color в приложении

Теперь я могу переписать кисть с этим:

<Color x:Key="AppAccentColor">#ff6b53</Color> 

<SolidColorBrush x:Key="PhoneAccentBrush" Color="{StaticResource AppAccentColor}"/> 

Теперь, если я назначить PhoneAccentBrush где он отображает правильный цвет. Но если я нажму на TextBox, то Border по-прежнему будет цветом цвета, установленным в системных настройках.

Я попытался переписать эти цвета, а также, например, с этим:

<SolidColorBrush x:Key="PhoneTextBoxEditBorderBrush" 
         Color="{StaticResource AppAccentColor}" /> 

Но это, кажется, не имеют никакого эффекта.

Также я попытался создать новый стиль и скопировать тот, который был найден в папке 8.1 \ Design [Theme] \ System.Windows.xaml в системе. Но здесь он не находит разные ресурсы, которые находятся в ThemeResources.xaml в той же папке. Как только я импортирую это, он больше не может строить. Что я делаю не так ? o.o

Благодаря NPadrutt

ответ

1

В Windows Phone 8.1 выполнения приложений существует другой способ, чтобы переопределить цвета темы. Вы можете сделать это в файле App.xaml. Вот пример изменения TextBox выделенной границы цвет:

<Application.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.ThemeDictionaries> 
      <ResourceDictionary x:Key="Default"> 
       <SolidColorBrush x:Key="TextSelectionHighlightColorThemeBrush" Color="Magenta" /> 
      </ResourceDictionary> 
     </ResourceDictionary.ThemeDictionaries> 
    </ResourceDictionary> 
</Application.Resources> 

И ваш TextBox будет выглядеть следующим образом:
enter image description here

Проверьте полный список кистей можно изменить таким образом: https://msdn.microsoft.com/en-us/library/windows/apps/dn518235.aspx

Как вам может видеть в моем решении, я использовал его для По умолчанию стиль. Но у вас могут быть разные варианты для Свет и Темный стиль.