public void ChangeTheme(string theme) { Style style = (Style)this.TryFindResource("TileHeader"); foreach (Setter setter in style.Setters) { if (setter.Property == VisibilityProperty) { this.Header.SetValue(VisibilityProperty, setter.Value); } } style = (Style)this.TryFindResource("TileSplitterPanel"); foreach (Setter setter in style.Setters) { if (setter.Property == DockPanel.DockProperty) { this.Splitter.SetValue(DockPanel.DockProperty, setter.Value); } } if (tileObject != null) { tileObject.ChangeTheme(theme); } if (Header.Visibility == Visibility.Visible && !double.IsNaN(Header.Height) && (DockPanel.GetDock(Header) == Dock.Top || DockPanel.GetDock(Header) == Dock.Bottom)) { this.Height = TileContentGrid.ActualHeight + this.Header.Height + 5; } else { this.Height = TileContentGrid.ActualHeight + 4; } }