using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace MainShell.Resources.CustomControl { /// /// LightControl.xaml 的交互逻辑 /// public partial class LightControl : UserControl { public LightControl() { InitializeComponent(); } public static readonly DependencyProperty HeaderProperty = DependencyProperty.Register(nameof(Header), typeof(string), typeof(LightControl), new FrameworkPropertyMetadata("通道",FrameworkPropertyMetadataOptions.AffectsRender)); public static readonly DependencyProperty ValueProperty = DependencyProperty.Register(nameof(Value), typeof(int), typeof(LightControl), new FrameworkPropertyMetadata(0, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault)); public static readonly DependencyProperty EnabledProperty = DependencyProperty.Register(nameof(Enabled), typeof(bool), typeof(LightControl), new FrameworkPropertyMetadata(true, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault)); public static readonly DependencyProperty MinProperty = DependencyProperty.Register(nameof(Min), typeof(int), typeof(LightControl), new PropertyMetadata(0)); public static readonly DependencyProperty MaxProperty = DependencyProperty.Register(nameof(Max), typeof(int), typeof(LightControl), new PropertyMetadata(255)); public static readonly DependencyProperty TickProperty = DependencyProperty.Register(nameof(Tick), typeof(double), typeof(LightControl), new PropertyMetadata(1d)); public string Header { get => (string)GetValue(HeaderProperty); set => SetValue(HeaderProperty, value); } public int Value { get => (int)GetValue(ValueProperty); set => SetValue(ValueProperty, value); } public bool Enabled { get => (bool)GetValue(EnabledProperty); set => SetValue(EnabledProperty, value); } public int Min { get => (int)GetValue(MinProperty); set => SetValue(MinProperty, value); } public int Max { get => (int)GetValue(MaxProperty); set => SetValue(MaxProperty, value); } public double Tick { get => (double)GetValue(TickProperty); set => SetValue(TickProperty, value); } } }