ThemeSettings Klasse

Definition

Die ThemeSettings-API ermöglicht Win32 Windows-Runtime Apps zu erkennen, dass sich die Einstellung für hohen 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 auf dem System zu lauschen:

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.");
        }
    };
}

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

Name Beschreibung
HighContrast

Ruft die aktuelle Einstellung für hohen Kontrast ab.

HighContrastScheme

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

Methoden

Name Beschreibung
CreateForWindowId(WindowId)

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

Ereignisse

Name Beschreibung
Changed

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

Gilt für:

Weitere Informationen