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 всегда будет темой.