ThemeSettings Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
L'API ThemeSettings permet aux applications Win32 Windows Runtime de détecter que le paramètre Contraste élevé du système a changé.
public ref class ThemeSettings sealed
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65540)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ThemeSettings final
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65540)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ThemeSettings
Public NotInheritable Class ThemeSettings
- Héritage
- Attributs
Exemples
Dans cet exemple de code, une application utilise un objet ThemeSettings pour écouter les modifications à contraste élevé sur le système :
void MyApp::ListenForHighContrastChange(XamlRoot& xamlRoot)
{
const auto myWindowId = xamlRoot.ContentIslandEnvironment().AppWindowId();
m_themeSettings = ThemeSettings::CreateForWindowId(myWindowId);
m_themeSettings.Changed([xamlRoot](const ThemeSettings& ts, const auto&) {
if (ts.HighContrast())
{
::OutputDebugString(L"High contrast is ON, scheme is: ");
::OutputDebugString(ts.HighContrastScheme().c_str());
}
else
{
::OutputDebugString(L"High contrast is OFF.\n");
}
});
}
void MyApp.ListenForHighContrastChange(XamlRoot xamlRoot)
{
var myWindowId = xamlRoot.ContentIslandEnvironment().AppWindowId();
m_themeSettings = ThemeSettings.CreateForWindowId(myWindowId);
m_themeSettings.Changed += (ts, _) =>
{
if (ts.HighContrast())
{
Debug.WriteLine("High contrast is ON, scheme is: ");
Debug.WriteLine(ts.HighContrastScheme());
}
else
{
Debug.WriteLine("High contrast is OFF.");
}
};
}
Remarques
Lorsque l’application libère toutes ses références à un objet ThemeSettings , l’objet est détruit et l’événement Changed ne se déclenche plus.
Propriétés
| Nom | Description |
|---|---|
| HighContrast |
Obtient le paramètre contraste élevé actuel. |
| HighContrastScheme |
Schéma ou style à contraste élevé du système, s’il est actuellement appliqué. |
Méthodes
| Nom | Description |
|---|---|
| CreateForWindowId(WindowId) |
Crée un objet ThemeSettings qui fournira des informations de thème pour l’Objet WindowId donné. |
Événements
| Nom | Description |
|---|---|
| Changed |
Cet événement est déclenché lorsque l’une des propriétés de l’objet ThemeSettings a changé. |