2016-05-18 10 views
11

मैं को Image भरने की कोशिश कर रहा हूं। बटन ग्रिड के भीतर रहता है। समस्या यह है कि छवि पूरी तरह से बटन भर नहीं रही है। मैंने ImageButton नियंत्रण का उपयोग करने का भी प्रयास किया है।Xamarin फॉर्म में किसी छवि के साथ बटन कैसे भरें?

<Grid Grid.Row="1" Grid.Column="1" x:Name="VotingGrid" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand"> 
    <Grid.RowDefinitions> 
    <RowDefinition Height="*" /> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
    <ColumnDefinition Width="45*" /> 
    <ColumnDefinition Width="10*" /> 
    <ColumnDefinition Width="45*" /> 
    </Grid.ColumnDefinitions> 

    <Button Grid.Row="0" Grid.Column="0" Image="yay.png" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"/> 
    <Button Grid.Row="0" Grid.Column="2" Image="meh.png" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"/> 
</Grid> 

यह वर्तमान में छवि नीचे संलग्न की तरह लग रहा है, लेकिन मैं छवि मेरी बटन को भरने के लिए करना चाहते हैं:

यहाँ कैसे मैं अपने U.I निर्माण कर रहा हूँ।

enter image description here

किसी भी मदद की सराहना की जाएगी!

+2

मैंने कोशिश की कि यह छवि संकल्प और बटन आकार के कारण शायद नहीं हुआ। ऐसा करने का एक तरीका है, छवि पर बटन ओवरलैप करें और बटन अस्पष्टता 0 पर सेट करें। आप ग्रिडलेआउट या पूर्ण लेआउट में ओवरलैपिंग कर सकते हैं। –

+0

@AkashAmin मैं एक "क्लीनर" दृष्टिकोण की तलाश में था। –

+0

हां मैंने इसकी खोज की लेकिन कुछ भी नहीं मिला, देखते हैं कि हम कुछ और जवाब प्राप्त कर सकते हैं या नहीं। मैं इस धागे का पालन करूँगा। धन्यवाद –

उत्तर

18

बटन के बजाय छवि को रखने का प्रयास करें।

आप का उपयोग कर सकते हैं क्लिक इवेंट लेने के लिए जेस्चर जेस्चर रिकॉग्नाइज़र टैप करें। इस तरह

कोशिश कुछ:

<Image Source="tapped.jpg"> 
    <Image.GestureRecognizers> 
     <TapGestureRecognizer 
       Tapped="OnTapGestureRecognizerTapped" /> 
    </Image.GestureRecognizers> 
</Image> 

ईवेंट हैंडलर के लिए कोड

void OnTapGestureRecognizerTapped(object sender, EventArgs args) { 
    var imageSender = (Image)sender; 
    // Do something 
    DisplayAlert ("Alert", "Tap gesture recoganised", "OK"); 
} 

देखें: Adding a Tap Gesture Gesture Recognizer

+0

क्या आप इसे एमवीवीएम के साथ बाध्य कर सकते हैं? – batmaci

+1

@batmaci संदर्भित लिंक के अनुसार, आप आईसीओएमएंड का उपयोग कर सकते हैं। – Jahmic

1

मैं इसे अपने आप उपयोग नहीं किया है, लेकिन हो सकता है आप उपयोग कर सकते हैं XLab

से यह एक

https://github.com/XLabs/Xamarin-Forms-Labs/wiki/ImageButton

+0

मैंने किया लेकिन मुझे अभी भी एक ही समस्या का सामना करना पड़ा। –

+1

तो हो सकता है कि आप बटन के अनुभव देने के लिए इसके चारों ओर एक फ्रेम के साथ, टैप करने योग्य छवि के लिए जा सकें। – BraveHeart

+0

धन्यवाद! अंत में मैं एक समान विचार के लिए गया: पृष्ठभूमि में एक छवि के साथ एक tappable फ्रेम। –

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