locked
Переопределение тем RRS feed

  • Вопрос

  • Привет! Не совсем понятен способ работы со светлой и темными темами на телефоне в случае использования кастомных тем. 

    Я хочу, что бы мои приложения корректно обрабатывали смену тем телефона.
    По некоторым причинам я не могу всегда использовать стандартные стили которые определены для этих тем.
    Но мне хотелось бы

    1. Переопределять стандартные стили с учетом темной\светлой тем, например PhoneTextBoxReadOnlyColor для светлой красный, для темной - зеленый
    2. добавлять свои стили, которые бы определялись для светлой и темных тем, например AppNameSomeColor.

    В идеале было бы круто делать вот так:
    PrjFolder/CustomThemes/ThemeOne/Dark/ThemeResources.xaml //тут либо новые стили, либо перегрузки дефолтных
    PrjFolder/CustomThemes/ThemeOne/Light/ThemeResources.xaml //тут либо новые стили, либо перегрузки дефолтных

    PrjFolder/CustomThemes/ThemeTwo/Dark/ThemeResources.xaml
    PrjFolder/CustomThemes/ThemeTwo/Light/ThemeResources.xaml

    А где-нить в проекте писать строчки вроде:

    Themes.Add("/AppNameWP8;component/CustomThemes/ThemeOne");
    Themes.Add("/AppNameWP8;component/CustomThemes/ThemeTwo");
    Themes.SetCurrent("ThemeOne"); // в том числе, во время работы приложения, хотя это не критично, можно и после перезапуска

    или вот так:

    Themes.SetCurrent("/AppNameWP8;component/CustomThemes/ThemeTwo");

    Как это реализовать с минимальными усилиями в винфоне, особено 8? А может быть есть что-то похожее, где реализованы пункта 1 и 2?  
    1 и 2 - это то, что мне нужно. Это основное.



    23 июля 2013 г. 14:27

Ответы