2012-03-08 63 views
2

我正在LightSwitch中的一個項目,我試圖處理特定的屏幕上keyup事件我在哪裏可以找到LightSwitch中的關鍵事件?

我找不到它,我在哪裏可以找到這些事件(例如我們KEYUP的KeyDown引發LostFocus分機)

如果他們不支持我應該怎麼做來處理這種情況?

回答

8

我想你是指控件而不是實際的屏幕。因此,例如,爲了處理文本框上的鍵盤事件,實現它的一種方式就像在本例中,我有一個「Address1」文本框,並且我想在用戶輸入某個字母時更改它的文本:
1 - 在屏幕激活時,你可以得到所需要的文本框:

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"; 
    } 
} 
+0

很Intresting :)再次感謝男人 – 3oon 2012-03-09 19:49:38

+0

不客氣! – 2012-03-10 20:50:40

相關問題