CommandSource.cs 810 B

1234567891011121314151617181920212223242526
  1. using System.Windows;
  2. namespace OpenSEMI.ClientBase.Command
  3. {
  4. public static class CommandSource
  5. {
  6. public static readonly DependencyProperty TriggerProperty = DependencyProperty.RegisterAttached("Trigger1", typeof(ICommandTrigger), typeof(CommandSource), new UIPropertyMetadata(null, TriggerPropertyChanged));
  7. public static ICommandTrigger GetTrigger(FrameworkElement source)
  8. {
  9. return (ICommandTrigger)source.GetValue(TriggerProperty);
  10. }
  11. public static void SetTrigger(FrameworkElement source, ICommandTrigger value)
  12. {
  13. source.SetValue(TriggerProperty, value);
  14. }
  15. private static void TriggerPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
  16. {
  17. FrameworkElement source = d as FrameworkElement;
  18. (e.NewValue as ICommandTrigger)?.Initialize(source);
  19. }
  20. }
  21. }