2010-06-07 13 views
7

क्लिक के साथ जब मैं एक Button नियंत्रण ईवेंट हैंडलर जो Click घटना के साथ शामिल हो गए उठाया कभी नहीं होगा में Command उपयोग करते हैं,WPF कमान इवेंट हैंडलर

मैं Command का उपयोग करें और Click ईवेंट हैंडलर संभाल कर सकते हैं कैसे?

उत्तर

17

आप आईसीओएमएंड को किसी अन्य संपत्ति से जोड़ सकते हैं और इसे क्लिक हैंडलर से निष्पादित कर सकते हैं।

<Button x:Name="MyButton" Tag="{x:Static ApplicationCommands.Stop}" Click="MyButton_Click" /> 

और हैंडलर में:

private void MyButton_Click(object sender, RoutedEventArgs e) 
{ 
    var button = sender as Button; 
    if (button != null) 
    { 
     var command = button.Tag as ICommand; 
     if (command != null) 
      command.Execute(button.CommandParameter); 
    } 
} 

तुम भी कुछ अतिरिक्त काम करने की जरूरत है अगर आप कमान अक्षम करने व्यवहार रखना चाहता था।

+0

मैं इसे इस्तेमाल किया, धन्यवाद जॉन – Tomas1

-3

एक आदेश एक सप्ताह का कार्यक्रम है। आदेशों के बारे में अच्छा विचार यह है कि आपको घटनाओं का उपयोग करने की आवश्यकता नहीं है। असल में यदि आप व्यूमोडेल पैटर्न का उपयोग करते हैं तो आपको बिल्कुल पीछे और घटनाओं का उपयोग करने की आवश्यकता नहीं है। रिले आदेशों देखें: http://blog.galasoft.ch/archive/2009/09/26/using-relaycommands-in-silverlight-and-wpf.aspx

+1

सही नहीं है यही कारण है, अगर आप आप ViewModel में SeletedItem जैसी चीजों को अपडेट करने या एक में संभाल करने के लिए देखने चाहते हैं के पीछे कोड का उपयोग करना विशिष्ट तरीके कैसे चयन करते हैं। –

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