Langage

ThemeSettings Classe

Définition

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
Object Platform::Object IInspectable ThemeSettings
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é.

S’applique à

Voir aussi