// // Copyright (c) PlaceholderCompany. All rights reserved. // namespace SystemTrayMenu.UserInterface { using System; using System.Diagnostics; using System.Text.RegularExpressions; using System.Windows; using System.Windows.Controls; using System.Windows.Input; using System.Windows.Media; /// /// Logic of ColorSelector . /// public partial class ColorSelector : UserControl { public ColorSelector() { InitializeComponent(); label.Content = string.Empty; } public event Action? ColorChanged; public string Text { get { try { Color color = (Color)ColorConverter.ConvertFromString(txtbox.Text.Trim()); return txtbox.Text.Trim(); } catch { return Colors.White.ToString(); } } set { txtbox.Text = value; } } public string Description { get => (string)label.Content; set => label.Content = value ?? string.Empty; } private void Txtbox_TextChanged(object sender, TextChangedEventArgs e) { try { Color color = (Color)ColorConverter.ConvertFromString(txtbox.Text.Trim()); pane.Background = new SolidColorBrush(color); } catch { return; } ColorChanged?.Invoke(this); } #if TODO // ColorPicker private void PictureBoxClick(object sender, EventArgs e) { PictureBox pictureBox = (PictureBox)sender; TextBox textBox = (TextBox)pictureBox.Tag; colorDialog.Color = pictureBox.BackColor; if (colorDialog.ShowDialog() == DialogResult.OK) { textBox.Text = ColorTranslator.ToHtml(colorDialog.Color); pictureBox.BackColor = colorDialog.Color; } } #endif } }