FrameworkElement.RequestedTheme Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece el tema de la interfaz de usuario que usa UIElement (y sus elementos secundarios) para la determinación de recursos. El tema de la interfaz de usuario con RequestedTheme el que especifique puede invalidar requestedTheme de nivel de aplicación.
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" .../>
Valor de propiedad
Valor de la enumeración, por ejemplo Light.
Comentarios
Cambiar el RequestedTheme valor cambia eficazmente el comportamiento de búsqueda de recursos para la plantilla predeterminada del elemento. Si cambia el valor a Light , la plantilla usa los valores de ResourceDictionary con clave "Light" en la colección ThemeDictionaries . Establecer el tema de la interfaz de usuario de forma diferente del tema de la aplicación suele ser adecuado para controles flotantes, como menús y controles flotantes.
Puede cambiar el valor de la RequestedTheme propiedad para cualquier elemento determinado en tiempo de ejecución. Esto contrasta con la propiedad Application.RequestedTheme , que produce una excepción si intenta establecerla mientras se ejecuta la aplicación.
El RequestedTheme valor establecido en frameworkElement heredará a los elementos anidados dentro del elemento donde RequestedTheme se establece, pero esa herencia se puede invalidar estableciendo explícitamente RequestedTheme de nuevo. Por ejemplo, en este ejemplo XAML, el StackPanel primario establece el tema Lighten y ese valor hereda al primer elemento secundario TextBlock , pero no al segundo TextBlock porque establece el valor Dark en en su lugar.
<StackPanel RequestedTheme="Light">
<TextBlock>Text using light theme.</TextBlock>
<TextBlock RequestedTheme="Dark">Text using dark theme.</TextBlock>
</StackPanel>
La RequestedTheme propiedad se omite si el usuario se ejecuta en modo de contraste alto. Consulta Temas de contraste alto y ejemplo de estilo de contraste alto XAML.
Note
En Windows, establecer RequestedTheme en ElementTheme.Default siempre dará como resultado que "Dark" sea el tema.