FrameworkElement.RequestedTheme Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает тему пользовательского интерфейса, используемую uiElement (и его дочерними элементами) для определения ресурса. Тема пользовательского интерфейса, указанная в параметре RequestedTheme, может переопределить requestedTheme на уровне приложения.
public:
property ElementTheme RequestedTheme { ElementTheme get(); void set(ElementTheme value); };
ElementTheme RequestedTheme();
void RequestedTheme(ElementTheme value);
public ElementTheme RequestedTheme { get; set; }
var elementTheme = frameworkElement.requestedTheme;
frameworkElement.requestedTheme = elementTheme;
Public Property RequestedTheme As ElementTheme
<uiElement RequestedTheme="elementThemeMemberName" .../>
Значение свойства
Значение перечисления, например Light.
Комментарии
Изменение значения RequestedTheme фактически изменяет поведение поиска ресурсов для шаблона элемента по умолчанию. Если изменить значение на Light , шаблон будет использовать значения из ResourceDictionary , который имеет ключ "Light" в коллекции ThemeDictionaries . Настройка темы пользовательского интерфейса, отличной от темы приложения, часто подходит для плавающих элементов управления, таких как меню и всплывающие элементы.
Вы можете изменить значение свойства RequestedTheme для любого заданного элемента во время выполнения. Это отличается от свойства Application.RequestedTheme , которое вызывает исключение при попытке задать его во время работы приложения.
Значение RequestedTheme, заданное в FrameworkElement , наследует все элементы, вложенные в элемент, где задано значение RequestedTheme, но это наследование можно переопределить, явно задав RequestedTheme еще раз. Например, в этом примере XAML родительский Элемент StackPanel задает для темы значение Light, а это значение наследует первый дочерний элемент TextBlock , но не второй Элемент TextBlock , так как вместо этого задается значение Dark .
<StackPanel RequestedTheme="Light">
<TextBlock>Text using light theme.</TextBlock>
<TextBlock RequestedTheme="Dark">Text using dark theme.</TextBlock>
</StackPanel>
Свойство RequestedTheme игнорируется, если пользователь работает в режиме высокой контрастности. См. статью Темы с высокой контрастностью и Пример стиля XAML.
Примечание
В Windows для параметра RequestedTheme значение ElementTheme.Default всегда будет темным. На Windows Phone использование значения ElementTheme.Default приведет к запросу системной темы, заданной пользователем.