1234567891011121314151617181920212223242526272829303132333435363738 |
- using System.Windows;
- namespace OpenSEMI.ClientBase.Command
- {
- public sealed class EventCommandTrigger : CommandTrigger
- {
- public static readonly DependencyProperty RoutedEventProperty = DependencyProperty.Register("RoutedEvent", typeof(RoutedEvent), typeof(EventCommandTrigger), new FrameworkPropertyMetadata(null));
- public RoutedEvent RoutedEvent
- {
- get
- {
- return (RoutedEvent)GetValue(RoutedEventProperty);
- }
- set
- {
- SetValue(RoutedEventProperty, value);
- }
- }
- protected override Freezable CreateInstanceCore()
- {
- return new EventCommandTrigger();
- }
- protected override void InitializeCore(FrameworkElement source)
- {
- source.AddHandler(RoutedEvent, new RoutedEventHandler(ExecuteCommand));
- }
- private void ExecuteCommand(object sender, RoutedEventArgs args)
- {
- CommandParameter<object> parameter = new EventCommandParameter<object, RoutedEventArgs>(base.CustomParameter, RoutedEvent, args);
- ExecuteCommand(parameter);
- }
- }
- }
|