ThemeSettings Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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. |