2014-03-07 56 views
1

我們正在使用包含選擇,保存,清除,退出項目的頂部菜單項的wpf頁面。在菜單下面我們有一個接受供應商代碼的文本框。在文本框失去焦點的情況下,我們必須驗證供應商代碼是否正確,同時如果用戶單擊退出菜單項,則此驗證不應發生。這很容易通過檢查Windows應用程序中的Tab索引來實現,但是在我們不知道如何實現的WPF頁面中很容易實現。下面的代碼是在wpf頁面所需的windows application.same功能中完成的。失落焦點事件中的驗證

我們需要的代碼在C#

Private Sub txtSupp_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtSupp.Leave 
    If Me.ActiveControl Is Nothing Then Exit Sub 
    If Me.ActiveControl.TabIndex <= txtSupp.TabIndex And _ 
    Me.ActiveControl.Parent.TabIndex <= txtSupp.Parent.TabIndex Then Exit Sub 
    Dim lsErrmsg As String 
    cowSIMaintain.Validate_Supp(Me, lsErrmsg) 
End Sub 
+0

感謝您的回覆,但在wpf頁面中,您的語法不起作用。只有在Windows應用程序這將起作用。 – user1892203

+0

對不起,用一個可用的wpf答案更新了我的答案 – safetyOtter

回答

0
private void txtSupp_LostFocus(object sender, RoutedEventArgs e) 
    { 
     var focusedControl = Keyboard.FocusedElement; 
     if (focusedControl.GetType() == typeof(Button)) 
     { 
      var but = focusedControl as Button; 
      if (but == null) 
      { 
       return; 
      } 
      if (but.Name == "ImTheExitButton") 
      { 
       return; 
      } 
     } 

     string lsErrmsg = null; 
     cowSIMaintain.Validate_Supp(this, lsErrmsg); 
    } 

對不起忘了我離開你掛..希望你及時有用得到這個,它應該做的,你需要什麼,或者至少點你正確的方向。