Пример #1
0
        private static void RaiseThemeChanged(string themeName, string controlThemeClassName)
        {
            lock (syncRoot)
            {
                if (themeChangeSuspendCounter > 0)
                {
                    ThemeChangeInfo info = new ThemeChangeInfo(themeName, controlThemeClassName);
                    if (!themesChangeDuringSuspend.Contains(info))
                    {
                        themesChangeDuringSuspend.AddLast(info);
                    }

                    return;
                }

                ThemeChangedEventArgs args = new ThemeChangedEventArgs(themeName);

                foreach (IThemeChangeListener listener in themeChangeListeners)
                {
                    if (!string.IsNullOrEmpty(controlThemeClassName) &&
                        String.CompareOrdinal(controlThemeClassName, listener.ControlThemeClassName) != 0)
                    {
                        continue;
                    }
                    listener.OnThemeChanged(args);
                }
            }
        }
Пример #2
0
            public override bool Equals(object obj)
            {
                ThemeChangeInfo target = obj as ThemeChangeInfo;

                if (target == null)
                {
                    return(false);
                }

                return(target.themeName == this.themeName &&
                       target.targetThemeClassName == this.targetThemeClassName);
            }