2013-01-17 27 views
8

मैं एक TextBox साथ एक पॉपअप है कि उपयोगकर्ता में एक टिकट नंबर दर्ज करना चाहिए, और फिर जब उपयोगकर्ता दर्ज कुंजी मैं चाहता टिकट नंबर ViewModel जो टिकट प्राप्त करेंगे को पास करने की प्रेस की है।EventTrigger और InvokeCommandAction प्रोग्रामेटिक रूप से कैसे उपयोग करें?

यहाँ TextBox के लिए XAML है:

<TextBox x:Name="TicketNumber"> 
    <i:Interaction.Triggers> 
     <i:EventTrigger EventName="KeyDown"> 
      <i:InvokeCommandAction Command="{Binding OpenTicketCommand}" 
            CommandParameter="{Binding ElementName=TicketNumber, 
                   Path=Text}"/> 
     </i:EventTrigger> 
    </i:Interaction.Triggers> 
</TextBox> 

किसी भी कुंजी दबाने पर ऊपर काम करता है, लेकिन मैं वास्तव में केवल जब प्रवेश कुंजी दबाने ऐसा करना चाहते हैं। मुझसे यह कैसे होगा?

संपादित करें: मुझे लगता है कि इसे प्रोग्रामेटिक रूप से (इसलिए शीर्षक) करना होगा, लेकिन यदि यह ठीक नहीं है।

+1

एक वैकल्पिक दृष्टिकोण InputBindigs उपयोग करने के लिए किया जाएगा। –

+1

@AdrianFaciu धन्यवाद, अगर आप एक साधारण उदाहरण प्रदान कर सकते हैं जो शानदार होगा। मैं डब्ल्यूपीएफ के लिए काफी नया हूं और मुझे यह पता लगाने के लिए कुछ शोध करना होगा कि यह कैसे काम करता है, इसलिए आप जो भी नमूना दे सकते हैं, उसकी बहुत सराहना की जाएगी। –

उत्तर

19

आप वैकल्पिक दृष्टिकोण के रूप में इस्तेमाल कर सकते हैं InputBindings - KeyBinding

कुछ इस तरह: - आदेश को गति प्रदान करने की बाइंडिंग

<TextBox x:Name="TicketNumber"> 
    <TextBox.InputBindings> 
     <KeyBinding Key="Enter" 
        Command="{Binding OpenTicketCommand}" 
        CommandParameter="{Binding ElementName=TicketNumber, 
               Path=Text}"/> 
    </TextBox.InputBindings> 
</TextBox> 

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^