我正在开发Lightswitch的项目,我正试图在特定的屏幕上处理keyup事件
我找不到它,我在哪里可以找到那些事件(例如我们的KeyUp KeyDown LostFocus ext。)
如果他们不受支持我应该怎样处理这种情况?
答案 0 :(得分:8)
我猜你指的是控件,而不是实际的屏幕。因此,例如,要处理文本框上的键盘事件,实现它的一种方法就像在这个示例中,我有一个“Address1”文本框,我想在用户键入某个字母时更改其文本:
1 - 在屏幕的Activated事件中,您可以转到所需的文本框:
partial void CustomersListDetail_Activated()
{
this.FindControl("Address1").ControlAvailable += AddressTextBoxAvailable;
}
2 - 在可用事件处理程序上,您可以连接所需的事件(您可以使用KeyUp,KeyDown,LostFocus等):
private void AddressTextBoxAvailable(object sender, ControlAvailableEventArgs e)
{
((System.Windows.Controls.TextBox) e.Control).KeyUp += AddressTextBoxKeyUp;
}
3 - 在KeyUp事件处理程序中,您可以进行操作:
private void AddressTextBoxKeyUp(object sender, KeyEventArgs e)
{
if (e.Key == Key.A)
{
((System.Windows.Controls.TextBox) sender).Text = "You typed A";
}
}