Condividi tramite


ThemeSettings Classe

Definizione

L'API ThemeSettings consente alle app Win32 Windows Runtime di rilevare che l'impostazione contrasto elevato del sistema è stata modificata.

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
Ereditarietà
Object Platform::Object IInspectable ThemeSettings
Attributi

Esempio

In questo codice di esempio un'app usa un oggetto ThemeSettings per ascoltare le modifiche a contrasto elevato nel sistema:

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

Commenti

Quando l'app rilascia tutti i riferimenti a un oggetto ThemeSettings , l'oggetto verrà eliminato definitivamente e l'evento Changed non verrà più generato.

Proprietà

HighContrast

Ottiene l'impostazione corrente a contrasto elevato.

HighContrastScheme

Schema o stile a contrasto elevato del sistema, se ne è attualmente applicato uno.

Metodi

CreateForWindowId(WindowId)

Crea un oggetto ThemeSettings che fornirà informazioni sul tema per il valore WindowId specificato.

Eventi

Changed

Questo evento viene generato quando una delle proprietà dell'oggetto ThemeSettings è stata modificata.

Si applica a

Vedi anche