5

मैं अपने विंडोज फोन 8.1 ऐप में EventToCommand का उपयोग करने में सक्षम नहीं हूं।विंडोज फोन 8.1 - एमवीवीएमलाइट - EventToCommad क्यों काम नहीं कर रहा है?

xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" 
xmlns:cmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.WP8" 

मैं यह भी विधानसभा के साथ की कोशिश की = GalaSoft.MvvmLight.Extras.WP81 ...

<controls:PivotItem Name="pivotItem"> 
<i:Interaction.Triggers> 
    <i:EventTrigger EventName="SelectionChanged"> 
     <cmd:EventToCommand Command="{Binding SelectServiceCommand}" 
          CommandParameter="{Binding SelectedIndex,         ElementName=pivotItem}"/> 
    </i:EventTrigger> 
    <!-- other stuff --> 
</i:Interaction.Triggers> 

मैं निम्नलिखित मिली त्रुटियाँ मिलती है:

  • सदस्य " ट्रिगर्स "पहचाना नहीं गया है या पहुंच योग्य नहीं है।
  • अज्ञात प्रकार XML नामस्थान में 'EventTrigger' 'clr-नाम स्थान: System.Windows.Interactivity; विधानसभा = System.Windows.Interactivity'
  • त्रुटि 2 कुर्की संपत्ति 'ट्रिगर' प्रकार 'इंटरेक्शन' में नहीं मिला था। ...

क्या कोई मेरी मदद कर सकता है?

उत्तर

4

क्या आप सिल्वरलाइट, या विनआरटी (यूनिवर्सल एप्स) विंडोज फोन 8.1 के प्रकार का लक्ष्य रखते हैं?

यदि आपने दूसरा विकल्प चुना है, तो इस blog post में एमवीवीएम लाइट लेखक EventToCommand के लिए समर्थन की कमी की व्याख्या करता है - मूल रूप से WinRT में, पहले से ही EventToCommand - Behaviors के समान तंत्र है।

+0

आप पहली स्थिति के बारे में समाधान जानते हो (को लक्षित सिल्वरलाइट 8.1)? मैंने एक नया WP 8.1 प्रोजेक्ट बनाया और एमवीवीएम लाइट ट्रफ न्यूगेट जोड़ा लेकिन "GalaSoft.MvvmLight.Command" से "EventToCommand" नहीं मिला था। धन्यवाद! –

1

जब MVVMLight उपयोग करने के लिए मेरी WP8.0 एप्लिकेशन उन्नयन 5.0+ अक्षम EventToCommand व्यवहार, एक समाधान के लिए मेरे खोज मुझे इस blog post है कि एक कस्टम आदेश कार्रवाई को लागू करने के लिए स्रोत कोड प्रदान की है कि पैरामीटर के रूप में घटना args पारित करेंगे करने के लिए लाया । कोड को कार्यान्वित करने से मेरा ऐप काम करने के क्रम में लौटा !!

होप्स इस मदद करता है बाहर: डी

3

विंडोज फोन 8,1

Windows 8.1 Behavior SDK: How to use InvokeAction with InputConverter to pass arguments to a Command

माइक्रोसॉफ्ट अपने आप EventToCommand कार्यक्षमता विकसित की है। यह Behaviors एसडीके में स्थित है। स्टैक ओवरफ्लो पर किसी ने नुजेट के माध्यम से यह एसडीके प्राप्त करने के लिए कहा। यदि आपको NuGet में पैकेज नहीं मिल रहा है - इसे Add reference dialog में प्राप्त करें।

enter image description here (मेरे "संदर्भ जोड़ें" संवाद मूल से अलग हो सकता है क्योंकि Productivity Power Tools विस्तार की)

यहाँ सरल उपयोग के उदाहरण है:

<ListBox ItemsSource="{Binding Persons, Mode=OneWay}" 
     SelectedItem="{Binding SelectedPerson, Mode=TwoWay}"> 
    <interactivity:Interaction.Behaviors> 
     <core:EventTriggerBehavior EventName="SelectionChanged"> 
      <core:InvokeCommandAction Command="{Binding DisplayPersonCommand}" /> 
     </core:EventTriggerBehavior> 
    </interactivity:Interaction.Behaviors> 
</ListBox> 
संबंधित मुद्दे