我在哪里可以找到灯开关中的关键事件?

时间:2012-03-08 15:01:05

标签: events keyboard-events visual-studio-lightswitch

我正在开发Lightswitch的项目,我正试图在特定的屏幕上处理keyup事件

我找不到它,我在哪里可以找到那些事件(例如我们的KeyUp KeyDown LostFocus ext。)

如果他们不受支持我应该怎样处理这种情况?

1 个答案:

答案 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";
    }
}