1

Bir pencereyi kapatmak için tıklatılabilir simge olarak bir resim kullandığım Xamarin.Forms uygulamasında çalışıyorum. Benim xaml.cs yılındaXamarin Formları Artırılmış Resim Alanını Artırın

<Image Source="x-icon.png" HeightRequest="15" WidthRequest="15"> 
    <Image.GestureRecognizers> 
    <TapGestureRecognizer Tapped="OnClosePopupTapped"/> 
    </Image.GestureRecognizers> 
</Image> 

OnClosePopupTapped fonksiyonun doğru vurulduktan: aşağıda gösterildiği gibi ben TapGestureRecognizer aracılığıyla görüntü tıklanabilir hale getirdik.

Sorunum, görüntünün yalnızca sol üst köşesinin işlevi tetiklemesidir (görüntünün isabet alanı tam görüntü değil).

Herkes, isabet alanını yalnızca sol üst köşeye değil, tam resme yükseltmek için bir çözüm biliyor mu?

cevap

3

Daha büyük bir isabetli kutuyu elde etmenin kolay bir yolu, resminizi <StackLayout> ya da <Frame> gibi başka bir kumandaya, ebeveyn için uygun bir dolguya sahip olacak şekilde sarmak olacaktır. Ardından, ebeveyne Hareketiniz tanıyıcı uygulamak ve görüntü şuna benzer olmalı

InputTransparent şekilde ayarlanacak: Aşağıda elemana girişi geçecek true olarak ayarlanır

<Frame Padding="10"> 
    <Frame.GestureRecognizers> 
     <TapGestureRecognizer Tapped="OnClosePopupTapped"/> 
    </Frame.GestureRecognizers> 

    <Image Source="x-icon.png" HeightRequest="15" WidthRequest="15" InputTransparent="True"/> 
    </Frame> 

InputTransparent bu hangi vaka Çerçeve Ayrıca

, ben şahsen henüz denemedim ama son Xamarin.Forms yanı basit bir çözüm olabilir görüntü düğmeleri, destekler düşünüyorum:

<Button Image="x-icon.png" Command="OnClosePopopCommand"/> 
+1

Cevabınız için teşekkürler: Gelecekte bu çözüme rastlayabilecek insanlara bir şöhret olarak: Ben “InputTransparent” işe yaramadı, ama o kısmı çıkardım ve yaptım. – indubitablee

İlgili konular