Поделиться через


ThemeSettings Класс

Определение

API ThemeSettings позволяет приложениям Win32 среда выполнения Windows обнаруживать изменение параметра высокой контрастности в системе.

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
Наследование
Object Platform::Object IInspectable ThemeSettings
Атрибуты

Примеры

В этом примере кода приложение использует объект ThemeSettings для прослушивания изменений высокой контрастности в системе:

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

Комментарии

Когда приложение освобождает все свои ссылки на объект ThemeSettings , объект будет уничтожен, и событие Changed больше не срабатывает.

Свойства

HighContrast

Возвращает текущий параметр высокой контрастности.

HighContrastScheme

Схема высокой контрастности или стиль системы, если он применяется в данный момент.

Методы

CreateForWindowId(WindowId)

Создает объект ThemeSettings , который будет предоставлять сведения о теме для заданного Идентификатора WindowId.

События

Changed

Это событие возникает при изменении одного из свойств объекта ThemeSettings .

Применяется к

См. также раздел