mirror of
https://mirror.ghproxy.com/https://github.com/dexyfex/CodeWalker
synced 2026-05-14 07:44:46 +08:00
Theming for RPF Explorer
This commit is contained in:
@@ -12,58 +12,9 @@ namespace CodeWalker.Project
|
||||
public class ProjectPanel : DockContent
|
||||
{
|
||||
|
||||
|
||||
public virtual void SetTheme(ThemeBase theme)
|
||||
{
|
||||
BackColor = SystemColors.Control;
|
||||
ForeColor = SystemColors.ControlText;
|
||||
var txtback = SystemColors.Window;
|
||||
var disback = SystemColors.Control;
|
||||
var disfore = ForeColor;
|
||||
var btnback = Color.Transparent;
|
||||
|
||||
if (theme is VS2015DarkTheme)
|
||||
{
|
||||
BackColor = theme.ColorPalette.MainWindowActive.Background;
|
||||
ForeColor = Color.White;
|
||||
txtback = BackColor;
|
||||
disback = BackColor;// Color.FromArgb(32,32,32);
|
||||
disfore = Color.DarkGray;
|
||||
btnback = BackColor;
|
||||
}
|
||||
|
||||
var allcontrols = new List<Control>();
|
||||
RecurseControls(this, allcontrols);
|
||||
|
||||
foreach (var c in allcontrols)
|
||||
{
|
||||
if ((c is TabPage) || (c is CheckedListBox) || (c is ListBox))
|
||||
{
|
||||
c.ForeColor = ForeColor;
|
||||
c.BackColor = txtback;
|
||||
}
|
||||
else if ((c is TextBox))
|
||||
{
|
||||
var txtbox = c as TextBox;
|
||||
c.ForeColor = txtbox.ReadOnly ? disfore : ForeColor;
|
||||
c.BackColor = txtbox.ReadOnly ? disback : txtback;
|
||||
}
|
||||
else if ((c is Button) || (c is GroupBox))
|
||||
{
|
||||
c.ForeColor = ForeColor;
|
||||
c.BackColor = btnback;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void RecurseControls(Control c, List<Control> l)
|
||||
{
|
||||
foreach (Control cc in c.Controls)
|
||||
{
|
||||
l.Add(cc);
|
||||
RecurseControls(cc, l);
|
||||
}
|
||||
FormTheme.SetTheme(this, theme);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user