using System; using System.Collections.Generic; using System.Linq; using System.Reflection.Metadata.Ecma335; using System.Runtime.CompilerServices; 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 SummaryModule.Controls.BaseMotion; /// /// Interaction logic for Buffer.xaml /// public partial class Buffer : UserControl { public Buffer() { InitializeComponent(); } public string Type { get { return (string)GetValue(TypeProperty); } set { SetValue(TypeProperty, value); } } // Using a DependencyProperty as the backing store for Type. This enables animation, styling, binding, etc... public static readonly DependencyProperty TypeProperty = DependencyProperty.Register(nameof(Type), typeof(string), typeof(Buffer), new PropertyMetadata(default)); public string Placement { get { return (string)GetValue(PlacementProperty); } set { SetValue(PlacementProperty, value); } } // Using a DependencyProperty as the backing store for Placement. This enables animation, styling, binding, etc... public static readonly DependencyProperty PlacementProperty = DependencyProperty.Register(nameof(Placement), typeof(string), typeof(Buffer), new PropertyMetadata(default)); public ICommand Command { get { return (ICommand)GetValue(CommandProperty); } set { SetValue(CommandProperty, value); } } // Using a DependencyProperty as the backing store for Command. This enables animation, styling, binding, etc... public static readonly DependencyProperty CommandProperty = DependencyProperty.Register(nameof(Command), typeof(ICommand), typeof(Buffer), new PropertyMetadata(default)); public object CommandParameter { get { return (object)GetValue(CommandParameterProperty); } set { SetValue(CommandParameterProperty, value); } } // Using a DependencyProperty as the backing store for CommandParameter. This enables animation, styling, binding, etc... public static readonly DependencyProperty CommandParameterProperty = DependencyProperty.Register(nameof(CommandParameter), typeof(object), typeof(Buffer), new PropertyMetadata(default)); public bool IsActive { get { return (bool)GetValue(IsActiveProperty); } set { SetValue(IsActiveProperty, value); } } // Using a DependencyProperty as the backing store for IsActive. This enables animation, styling, binding, etc... public static readonly DependencyProperty IsActiveProperty = DependencyProperty.Register(nameof(IsActive), typeof(bool), typeof(Buffer), new PropertyMetadata(false, PropertyChangedCallback)); static void PropertyChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e) { if (d is not Buffer buffer) return; if (e.NewValue is not bool input) return; //buffer.active //buffer.ActiveLight //buffer. } public bool FoupLoaded { get { return (bool)GetValue(FoupLoadedProperty); } set { SetValue(FoupLoadedProperty, value); } } // Using a DependencyProperty as the backing store for FoupLoaded. This enables animation, styling, binding, etc... public static readonly DependencyProperty FoupLoadedProperty = DependencyProperty.Register(nameof(FoupLoaded), typeof(bool), typeof(Buffer), new PropertyMetadata(false)); }