这一定很简单,但我似乎无法轻易谷歌。
e.g。 blah.KeyDown += (s, r) => TextboxKEYDOWN(s, e);
现在C#可以使用KeyEventArgs可用的事件函数
但如果我用C#"undefined alias or unknown mapping: Shop [from Shop.dbo.Sales s where s.Customer = :customer_id and s.date between :start_date and :end_date order by s.date desc]"
然后TextboxKEYDOWN只获取RoutedEventArgs并抱怨它无法将KeyEventArgs强制转换为它。
为什么这样,只能从C#正常使用?
PS。我觉得这太简单了。
答案 0 :(得分:1)
那是因为
blah.KeyDown += (s, r) => TextboxKEYDOWN(s, e);
r
显然与e
不完全相同(不知道代码示例中的e
是什么)。
但是你应该能够把它写成
blah.KeyDown += TextboxKEYDOWN;
处理程序方法应该如下所示
private void TextboxKEYDOWN(object sender, KeyEventArgs e)
{
...
}