public abstract class StyleGroup : IReadOnlyCollection<Style> { public int Count => _styles.Count; public void Add(Style style) { _styles.Add(style); } public void AddRange(IEnumerable<Style> styles) { foreach (Style style in styles) { _styles.Add(style); } } public void AddRange(params Style[] styles) { foreach (Style style in styles) { _styles.Add(style); } } public IEnumerator<Style> GetEnumerator() { return _styles.GetEnumerator(); } IEnumerator IEnumerable.GetEnumerator() { return _styles.GetEnumerator(); } } public class ProcessStyleGroup : StyleGroup { public ProcessStyleGroup() { CreateTextBlockStyles(); CreateBorderStyles(); CreateButtonStyles(); } private void CreateTextBlockStyles() { insertStyle.Selector = insertStyle.Selector.OfType<TextBlock>().Class("Insert"); insertStyle.Setters.Add(new Setter(TextBlock.ForegroundProperty, ColorPalette.Green.GetLightThemeBrush())); deleteStyle.Selector = deleteStyle.Selector.OfType<TextBlock>().Class("Delete"); deleteStyle.Setters.Add(new Setter(TextBlock.ForegroundProperty, ColorPalette.Red.GetLightThemeBrush())); updateStyle.Selector = updateStyle.Selector.OfType<TextBlock>().Class("Update"); updateStyle.Setters.Add(new Setter(TextBlock.ForegroundProperty, ColorPalette.Blue.GetLightThemeBrush())); selectStyle.Selector = selectStyle.Selector.OfType<TextBlock>().Class("Select"); selectStyle.Setters.Add(new Setter(TextBlock.ForegroundProperty, ColorPalette.Yellow.GetLightThemeBrush())); registerStyle.Selector = registerStyle.Selector.OfType<TextBlock>().Class("Register"); registerStyle.Setters.Add(new Setter(TextBlock.ForegroundProperty, ColorPalette.Turquoise.GetLightThemeBrush())); unregisterStyle.Selector = unregisterStyle.Selector.OfType<TextBlock>().Class("Unregister"); unregisterStyle.Setters.Add(new Setter(TextBlock.ForegroundProperty, ColorPalette.Purple.GetLightThemeBrush())); AddRange(insertStyle, deleteStyle, updateStyle, selectStyle, registerStyle, unregisterStyle); } private void CreateBorderStyles() { insertStyle.Setters.Add(new Setter(Border.BackgroundProperty, ColorPalette.Green.GetLightThemeBrush())); deleteStyle.Setters.Add(new Setter(Border.BackgroundProperty, ColorPalette.Red.GetLightThemeBrush())); updateStyle.Setters.Add(new Setter(Border.BackgroundProperty, ColorPalette.Blue.GetLightThemeBrush())); selectStyle.Setters.Add(new Setter(Border.BackgroundProperty, ColorPalette.Yellow.GetLightThemeBrush())); registerStyle.Setters.Add(new Setter(Border.BackgroundProperty, ColorPalette.Turquoise.GetLightThemeBrush())); unregisterStyle.Setters.Add(new Setter(Border.BackgroundProperty, ColorPalette.Purple.GetLightThemeBrush())); AddRange(rootStyle, insertStyle, deleteStyle, updateStyle, selectStyle, registerStyle, unregisterStyle); } private void CreateButtonStyles() { Style rootTextBlockStyle = new Style(x => x.OfType<Button>().Class("Process").Template().OfType<TextBlock>()); insertStyle.Setters.Add(new Setter(Button.BackgroundProperty, ColorPalette.Green.GetLightThemeBrush())); deleteStyle.Selector = deleteStyle.Selector.OfType<Button>().Class("Delete"); deleteStyle.Setters.Add(new Setter(Button.BackgroundProperty, ColorPalette.Red.GetLightThemeBrush())); updateStyle.Selector = updateStyle.Selector.OfType<Button>().Class("Update"); updateStyle.Setters.Add(new Setter(Button.BackgroundProperty, ColorPalette.Blue.GetLightThemeBrush())); selectStyle.Selector = selectStyle.Selector.OfType<Button>().Class("Select"); selectStyle.Setters.Add(new Setter(Button.BackgroundProperty, ColorPalette.Yellow.GetLightThemeBrush())); registerStyle.Selector = registerStyle.Selector.OfType<Button>().Class("Register"); registerStyle.Setters.Add(new Setter(Button.BackgroundProperty, ColorPalette.Turquoise.GetLightThemeBrush())); unregisterStyle.Selector = unregisterStyle.Selector.OfType<Button>().Class("Unregister"); unregisterStyle.Setters.Add(new Setter(Button.BackgroundProperty, ColorPalette.Purple.GetLightThemeBrush())); generateStyle.Setters.Add(new Setter(Button.BackgroundProperty, ColorPalette.BlueGreen.GetLightThemeBrush())); AddRange(rootStyle, insertStyle, deleteStyle, updateStyle, selectStyle, registerStyle, unregisterStyle); } }
Title | Name | Language | UNIX | When |
---|---|---|---|---|
Styles | aaechoman | csharp | 1594291447 | 3 Years ago. |