示例#1
0
        public static bool SetAppMode(PreferredAppMode appMode)
        {
            var build = Environment.OSVersion.Version.Build;

            if (build >= 18362)
            {
                // memo: Workaround for the problem of not switching from dark theme to light theme.
                if (appMode == PreferredAppMode.APPMODE_DEFAULT || appMode == PreferredAppMode.APPMODE_FORCELIGHT)
                {
                    UxTheme.SetPreferredAppMode(PreferredAppMode.APPMODE_ALLOWDARK);
                    UxTheme.RefreshImmersiveColorPolicyState();
                }

                var ret = UxTheme.SetPreferredAppMode(appMode) == appMode;
                UxTheme.RefreshImmersiveColorPolicyState();
                return(ret);
            }
            else if (build >= 17763)
            {
                if (appMode == PreferredAppMode.APPMODE_DEFAULT || appMode == PreferredAppMode.APPMODE_FORCELIGHT)
                {
                    return(UxTheme.AllowDarkModeForApp(false));
                }
                else
                {
                    return(UxTheme.AllowDarkModeForApp(true));
                }
            }
            return(false);
        }
示例#2
0
        public static bool SetDarkModePreference(PreferredAppMode mode)
        {
            if (EnvironmentHelper.IsWindows10DarkModeSupported)
            {
                return(SetPreferredAppMode(mode));
            }

            return(false);
        }
 public static extern bool SetPreferredAppMode(PreferredAppMode mode);
示例#4
0
 internal static extern PreferredAppMode SetPreferredAppMode(PreferredAppMode appMode);         // RS6 1903
示例#5
0
 public static extern PreferredAppMode fnSetPreferredAppMode(IntPtr hwnd, PreferredAppMode appMode);