当您添加和删除事件处理程序并希望有其他参数时,您如何执行此操作?下面的代码就像我想要的,但显然不起作用。
你会怎么做?- 我不能使用委托或 lambda 很麻烦,因为我还需要删除处理程序。
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);
}