Freigeben über


ThemeSettings Klasse

Definition

Mit der ThemeSettings-API können Win32 Windows-Runtime-Apps erkennen, dass sich die Einstellung "Hoher Kontrast" des Systems geändert hat.

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
Vererbung
Object Platform::Object IInspectable ThemeSettings
Attribute

Beispiele

In diesem Beispielcode verwendet eine App ein ThemeSettings-Objekt , um auf Änderungen mit hohem Kontrast im System zu lauschen:

void MyApp::ListenForHighContrastChange(XamlRoot& xamlRoot) 
{
  const auto myWindowId = xamlRoot.ContentEnvironment().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.ContentEnvironment().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.");
        }
    };
}

Hinweise

Wenn die App alle Verweise auf ein ThemeSettings-Objekt freigibt, wird das Objekt zerstört, und das Changed-Ereignis wird nicht mehr ausgelöst.

Eigenschaften

HighContrast

Ruft die aktuelle Einstellung für hohen Kontrast ab.

HighContrastScheme

Das Schema oder die Formatvorlage für hohen Kontrast des Systems, wenn derzeit eins angewendet wird.

Methoden

CreateForWindowId(WindowId)

Erstellt ein ThemeSettings-Objekt , das Designinformationen für die angegebene WindowId bereitstellt.

Ereignisse

Changed

Dieses Ereignis wird ausgelöst, wenn sich eine der Eigenschaften des ThemeSettings-Objekts geändert hat.

Gilt für:

Weitere Informationen