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 que você especificar com RequestedTheme
pode substituir o 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 RequestedTheme
valor está alterando efetivamente 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 RequestedTheme
propriedade para qualquer elemento determinado 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 RequestedTheme
valor definido em um FrameworkElement herdará a todos os elementos aninhados dentro do elemento em RequestedTheme
que está definido, mas essa herança pode ser substituída definindo RequestedTheme
explicitamente 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 Dark
.
<StackPanel RequestedTheme="Light">
<TextBlock>Text using light theme.</TextBlock>
<TextBlock RequestedTheme="Dark">Text using dark theme.</TextBlock>
</StackPanel>
A RequestedTheme
propriedade 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.