Xamarin.Forms入门困扰与解决方式-第二篇

Xamarin.Forms入门困扰与解决方式-第二篇

一般項目中的按鈕都是用圖做得美美的(不會像第一篇中的按鈕),但是Xamarin.Forms中的Image控件默認是無法接受命令或觸碰事件的,WPF/Silverlight中可用Trigger讓控件侦听事件,但是在Xamarin中Trigger是不同的實現方式(沒有System.Windows.Interactivity.dll),另外用了TapGestureRecognizer來處理,本文延續第一篇的案例,演示由Button換成Image的解决方式

演示版本: Xamarin.Forms.1.3.1.6296(支援Unified API)

演示目标: 红框标识的控制项放在在ListView外面与里面(由分割线区分)的结果要一致


Xamarin.Forms中的Image無法像Button一樣使用(下列兩種方式是錯的)

<ImageCommand="{Binding CmdAdd}"CommandParameter="{Binding OneData}" />

<ImageClicked="OnClicked" />

正確方式是替Image添加TapGestureRecognizer寫法如下

<ImageSource="like.png">

  <Image.GestureRecognizers>

    <TapGestureRecognizerCommand="{Binding CmdAdd}"CommandParameter="{Binding OneData}" />

  </Image.GestureRecognizers>

</Image>

 

如同第一篇,Image放到ListView內就出問題了(Xaml的逻辑不一致),所幸解法也與第一篇相同,改用Event的写法即可


這種方法還可以用在其他控件,例如Label

<LabelText="...">

  <Label.GestureRecognizers>

    <TapGestureRecognizerCommand="{Binding CmdAdd}"CommandParameter="{Binding OneData}" />

  </Label.GestureRecognizers>

</Label>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值