2016-01-19 4 views
6

में ले जाएँ मैं एक सरल रूप है और मुझे लगता है कि चाहते हैं जब उपयोगकर्ता प्रेस उसका फोन कीबोर्ड में प्रवेश कर्सर अगले पाठ बॉक्स में चले जाएँगे। इस यूनिवर्सल विंडोज ऐप्स में किया जा सकता है? एंड्रॉयड कीबोर्ड में चलता एक अगला/हो गया प्रपत्र तत्वों में नेविगेट करने के लिए कुंजी।अगले पाठ बॉक्स जब 'Enter' की प्रस्तुत (विंडोज फोन) के बजाय दबाया जाता है

enter image description here

उत्तर

7

आप फोकस प्रोग्राम के रूप में स्थानांतरित करने के लिए उपयोग कर सकते हैं FocusManager।

पाठ बॉक्स कंटेनर के KeyDown घटना एक StackPanel अपने कीबोर्ड घटना को सुनने के लिए प्रयोग करें, मान लें,,। तो अपने कोड इस तरह से

private void stackPanel_KeyDown(object sender, KeyRoutedEventArgs e) 
    { 
     if (e.Key == Windows.System.VirtualKey.Enter) 
     { 
      if (FocusManager.GetFocusedElement() == inputTextBox) // Change the inputTextBox to your TextBox name 
      { 
       FocusManager.TryMoveFocus(FocusNavigationDirection.Next); 
       FocusManager.TryMoveFocus(FocusNavigationDirection.Next); 
      } 
      else 
      { 
       FocusManager.TryMoveFocus(FocusNavigationDirection.Next); 
      } 

      // Make sure to set the Handled to true, otherwise the RoutedEvent might fire twice 
      e.Handled = true; 
     } 
    } 

FocusManager अधिक जानकारी के लिए की तरह काम करेगा, KeyDown अधिक जानकारी के लिए https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.input.focusmanager.trymovefocus

को देखते हैं, https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.uielement.keydown

+0

केवल एक चीज है कि अभी भी परेशान कर रहा है मैं करने के लिए देखते हैं, क्यों आप इसे StackPanel के बजाय की तरह पाठ बॉक्स के लिए नियत कर सकता: '<पाठ बॉक्स KeyDown =" TextBox_KeyDown "/>' –

+0

तो वहाँ केवल है दर्ज बटन और कोई किया/अगले बटन? – testing

0

आप yourTextBoxName.Focus() की तरह कुछ है ..? भी New Password टेक्स्ट बॉक्स की अधिकतम KeyDownEvent का उपयोग करें और जाँच निम्नलिखित

if (e.Key == Key.Enter || e.PlatformKeyCode == 0x0A) 
{ 
    confirmPassword.Focus();//change confirmPassword to your controls actual name  
} 
संबंधित मुद्दे