c# - ICommand for Button Press AND Release in an MVVM style -


मैं एक बटन पर एक ही कार्रवाई को नियंत्रित करने के लिए ICommand कार्यान्वयन से काफी खुशी से उपयोग कर रहा हूं:

  & lt; बटन कमांड = "{बाध्यकारी पथ = कार्यवाही}" & gt; मुझे दबाएं & lt; / बटन & gt;   

ICommand के साथ एक रिले कॉमांड

के माध्यम से कार्यान्वित किया जा रहा है, लेकिन जो मुझे नहीं मिल पा रहा है और रिहाई कार्यों (दोनों पर SO और अन्यत्र पर आधारित) के लिए एक कार्रवाई की आपूर्ति का एक आसान तरीका है IE मुझे कुछ ऐसा जैसा करना है, लेकिन मुझे यह नहीं पता कि यह कैसे करना है:

  & lt; बटन प्रेस कॉमांड = "{बाध्यकारी पथ = कार्यवाही}" रिलीज़ कॉमांड = "{बाध्यकारी पथ = कार्यवाई}" & gt; प्रेस और रिलीज़ करें मी & lt; / button & gt;  

ऐसी आवश्यकता को संभालने का सही एमवीवीएम तरीका क्या है?

< P> आप EventTrigger से System.Windows.Interactivity का उपयोग घटना पर कमांड ट्रिगर करने के लिए कर सकते हैं

  & lt; बटन सामग्री = "मुझे दबाएं" & gt; & Lt; i: Interaction.Triggers & gt; & Lt; i: EventTrigger EventName = "पूर्वावलोकनमाउस लेफ्टबायटनडाउन" & gt; & Lt; i: InvokeCommandAction कमांड = "{बाध्यकारी पथ = कार्यवाही}" / & gt; & Lt; / मैं: EventTrigger & gt; & Lt; i: EventTrigger EventName = "PreviewMouseLeftButtonUp" & gt; & Lt; i: InvokeCommandAction कमांड = "{बाध्यकारी पथ = कार्यवाई}" / & gt; & Lt; / मैं: EventTrigger & gt; & Lt; / मैं: Interaction.Triggers & gt; & Lt; / बटन & gt;  

आपको System.Windows.Interactivity और नामस्थान को परिभाषित करने की आवश्यकता होगी

  xmlns: i = "http : //schemas.microsoft.com/expression/2010/interactivity " 

Comments