Установка или изменение ThemeResource в коде
Мои вопросы очень специфичны для ThemeResources в приложении для Магазина Windows 10. К сожалению, некоторые вещи, доступные в «классическом» WPF, отличаются или не доступны здесь.
Что я пытаюсь достичь для многих элементов пользовательского интерфейса:
Разрешить пользователю использовать цвет акцента системы (в XAML это будет{ThemeResource SystemAccentColor}
как ценность.)Позвольте пользователю использовать пользовательский / фиксированный цвет вместо этого. (Я мог бы переопределитьSystemAccentColor
ключ в ресурсных словах)Разрешить переключение между системным акцентом и пользовательским цветом во время выполнения (я мог бы связываться с цветом вместо использования ресурса)Но я не нашел хорошего решения для достижения всего этого. Если у меня есть собственный словарь ресурсов с пользовательским цветом, я не избавлюсь от него, когда пользователь захочет вернуться к цвету акцента системы. И использование свойства, с которым я связываюсь, имеет недостаток, которого я не понимаю, если пользователь изменяет цвет акцента в настройках системы во время работы приложения - используя{ThemeResource}
разметка это делает.
Есть идеи, как сделать это правильно? Если бы было возможно установитьThemeResource
из кода я мог бы написать некоторое поведение для этого, но это, кажется, не доступно.