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.
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
- 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. |