2015-06-19 3 views
12

मैं xamarin.forms में नया हूँ में घटना क्लिक करें जोड़ें कृपया मेरी मदद बाहर कैसे मैंकैसे ढेर लेआउट या फ्रेम

<Frame Grid.Column="0" BackgroundColor="#ffffff" Grid.Row="0" HasShadow="true" OutlineColor = "Black"> 
</Frame> 


<StackLayout Grid.Column="0" BackgroundColor="#313FA0" Grid.Row="0"> 
</StackLayout> 

उत्तर

31

आप StackLayout करने के लिए एक TapGestureRecognizer जोड़ सकते हैं ढेर लेआउट में क्लिक ईवेंट या फ्रेम में जोड़ सकते हैं इस तरह XAML में:

<StackLayout Grid.Column="0" BackgroundColor="#313FA0" Grid.Row="0"> 
    <StackLayout.GestureRecognizers> 
     <TapGestureRecognizer Tapped="OnTapped"/> 
    </StackLayout.GestureRecognizers> 
</StackLayout> 

तो फिर तुम लागू कर सकते हैं OnTapped के पीछे कोड में विधि:

void OnTapped(object sender, EventArgs e) 
{ 
    // Do stuff 
} 

वैकल्पिक रूप से, आप MVVM पद्धति का उपयोग कर रहे हैं और ViewModel में एक ICommand, कि इस तरह प्राप्त किया जा सकता करने के लिए नल में आबद्ध करना चाहते हैं:

<StackLayout Grid.Column="0" BackgroundColor="#313FA0" Grid.Row="0"> 
    <StackLayout.GestureRecognizers> 
     <TapGestureRecognizer Command="{Binding TapCommand}"/> 
    </StackLayout.GestureRecognizers> 
</StackLayout> 

में अपने ViewModel आप होगा:

ICommand tapCommand = new Command(OnTapped); 

void OnTapped() 
{ 
    // Do stuff 
} 

Xamarin वेबसाइट पर वास्तव में कुछ अच्छे गाइड के होते हैं:

http://developer.xamarin.com/guides/cross-platform/xamarin-forms/working-with/gestures/#Using_Xaml

https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/gestures/tap/

+0

यह अच्छा है ... धन्यवाद – GvSharma

+0

thnx @pnavk;) आप अपना समय बचाएं: पी –

1

ठीक है, धन्यवाद @pnavk, मैं क्या देखा के अनुसार मुझे भी इस साझा करने के लिए अनुमति देते हैं, दृश्य (लेआउट, फ्रेम, चित्र आदि) जो इनबिल्ट OnClick है या क्लिक नहीं करते घटनाक्रम एक ही है क्लिक इवेंट से निपटने का तरीका।

इस प्रकार के रूप में:

एक छवि:

<Image > 
       <Image.GestureRecognizers> 
          <TapGestureRecognizer Tapped="onImageCitizenReporterTapped" NumberOfTapsRequired="1" /> 
       </Image.GestureRecognizers> 
</Image> 

एक फ्रेम के लिए:

<Frame> 
        <Frame.GestureRecognizers> 
           <TapGestureRecognizer Tapped="onFrameCitizenReporterTapped" NumberOfTapsRequired="1" /> 
        </Frame.GestureRecognizers> 
    </Frame> 

StackLayout के लिए:

<StackLayout > 
        <StackLayout .GestureRecognizers> 
           <TapGestureRecognizer Tapped="onStackCitizenReporterTapped" NumberOfTapsRequired="1" /> 
        </StackLayout .GestureRecognizers> 
    </StackLayout > 

चीयर्स।

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