Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static void IsDefaultChanged(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs args)
- {
- if ((bool)args.NewValue)
- {
- Window.Current.CoreWindow.KeyUp += CoreWindowOnKeyUp(dependencyObject);
- }
- else
- {
- Window.Current.CoreWindow.KeyUp -= CoreWindowOnKeyUp(dependencyObject);
- }
- }
- private static void CoreWindowOnKeyUp(CoreWindow sender, KeyEventArgs args, DependencyObject dependencyObject)
- {
- ((ICommand)dependencyObject.GetValue(Button.CommandProperty)).Execute(null);
- }
- HashTable<DependencyObject> current = new HashTable<DependencyObject>();
- // Bound as before
- private static void IsDefaultChanged(
- DependencyObject dependencyObject,
- DependencyPropertyChangedEventArgs args)
- {
- if ((bool)args.NewValue)
- current.Add(dependencyObject);
- else
- current.Remove(dependencyObject);
- }
- // Permanently bound, once.
- private static void CoreWindowOnKeyUp(CoreWindow sender, KeyEventArgs args)
- {
- foreach(var do in current)
- {
- ((ICommand)do.GetValue(Button.CommandProperty)).Execute(null);
- }
- }
- private static void IsDefaultChanged(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs args)
- {
- var func = (object sender,KeyEventArgs e) =>
- {
- ((ICommand)dependencyObject
- .GetValue(Button.CommandProperty)).Execute(null);
- };
- if ((bool)args.NewValue)
- {
- Window.Current.CoreWindow.KeyUp += func;
- }
- else
- {
- Window.Current.CoreWindow.KeyUp -= func;
- }
- }
Add Comment
Please, Sign In to add comment