Поделиться через


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 приведет к запросу системной темы, заданной пользователем.

Применяется к

См. также раздел