private void LongBar_SourceInitialized(object sender, EventArgs e) { Handle = new WindowInteropHelper(this).Handle; ReadSettings(); ThemesManager.LoadTheme(Sidebar.SidebarWindow.sett.path, sett.theme); object enableGlass = ThemesManager.GetThemeParameter(Sidebar.SidebarWindow.sett.path, sett.theme, "boolean", "EnableGlass"); if (enableGlass != null && !Convert.ToBoolean(enableGlass)) { sett.enableGlass = false; } object useSystemColor = ThemesManager.GetThemeParameter(Sidebar.SidebarWindow.sett.path, sett.theme, "boolean", "UseSystemGlassColor"); if (useSystemColor != null && Convert.ToBoolean(useSystemColor)) { Bg.Fill = new SolidColorBrush(DwmManager.ColorizationColor); DwmManager.ColorizationColorChanged += new EventHandler(SideBar_DwmColorChanged); } LocaleManager.LoadLocale(Sidebar.SidebarWindow.sett.path, sett.locale); this.Width = sett.width; SystemTray.AddIcon(this); // Force set sidebar window style to tool window, bypassing the restriction placed on AllowTransparency NativeMethods.SetWindowLong(Handle, GetWindowLongMessage.GWL_EXSTYLE, 128); SetSide(sett.side); this.MaxWidth = SystemParameters.PrimaryScreenWidth / 2; this.MinWidth = 31; DwmManager.ExcludeFromFlip3D(Handle); DwmManager.ExcludeFromPeek(Handle); SystemTray.SidebarVisibilityChanged += new SystemTray.SidebarVisibilityChangedEventHandler(SystemTray_SidebarvisibleChanged); GetTiles(); }
public void SetTheme(string theme) { ThemesManager.LoadTheme(Sidebar.SidebarWindow.sett.path, theme); object useSystemColor = ThemesManager.GetThemeParameter(Sidebar.SidebarWindow.sett.path, sett.theme, "boolean", "UseSystemGlassColor"); if (useSystemColor != null && Convert.ToBoolean(useSystemColor)) { Bg.Fill = new SolidColorBrush(DwmManager.ColorizationColor); DwmManager.ColorizationColorChanged += new EventHandler(SideBar_DwmColorChanged); } else { Bg.SetResourceReference(Rectangle.StyleProperty, "Background"); DwmManager.ColorizationColorChanged -= new EventHandler(SideBar_DwmColorChanged); } string file = string.Format(@"{0}\{1}.theme.xaml", sett.path, theme); foreach (Tile tile in TilesGrid.Children) { tile.ChangeTheme(file); } }