FrameworkElement.RequestedTheme Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает тему пользовательского интерфейса, используемую UIElement (и ее дочерними элементами) для определения ресурсов. Указанная тема 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.
Note
В Windows параметр "ЗапрошеннаяTheme" значение ElementTheme.Default всегда приводит к тому, что тема будет темой.