FrameworkElement.RequestedTheme Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define o tema da interface do usuário que é usado pelo UIElement (e seus elementos filho) para determinação de recursos. O tema da interface do usuário especificado com RequestedTheme pode substituir RequestedTheme no nível do aplicativo.
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 da propriedade
Um valor da enumeração, por exemplo, Light.
Comentários
A alteração do valor RequestedTheme está efetivamente alterando o comportamento de pesquisa de recursos para o modelo padrão do elemento. Se você alterar o valor para Light , o modelo usará os valores do ResourceDictionary que é chaveado como "Light" na coleção ThemeDictionaries . Definir o tema da interface do usuário de forma diferente do tema do aplicativo geralmente é apropriado para controles flutuantes, como menus e submenus.
Você pode alterar o valor da propriedade RequestedTheme para qualquer elemento fornecido em tempo de execução. Isso contrasta com a propriedade Application.RequestedTheme , que gera uma exceção se você tentar defini-la enquanto o aplicativo está em execução.
O valor RequestedTheme definido em um FrameworkElement herdará a todos os elementos aninhados dentro do elemento em que RequestedTheme está definido, mas essa herança pode ser substituída definindo Explicitamente RequestedTheme novamente. Por exemplo, neste exemplo XAML, o StackPanel pai define o tema como Light e esse valor herda para o primeiro elemento filho TextBlock , mas não para o segundo TextBlock porque está definindo o valor como Escuro .
<StackPanel RequestedTheme="Light">
<TextBlock>Text using light theme.</TextBlock>
<TextBlock RequestedTheme="Dark">Text using dark theme.</TextBlock>
</StackPanel>
A propriedade RequestedTheme será ignorada se o usuário estiver em execução no modo de alto contraste. Confira Temas de alto contraste e exemplo de estilo de alto contraste XAML.
Observação
No Windows, definir RequestedTheme como ElementTheme.Default sempre resultará em "Escuro" sendo o tema. Em Windows Phone, o uso do valor ElementTheme.Default resultará em uma consulta para o tema do sistema, conforme definido pelo usuário.