Xamarin.Forms虽然是朝着程序代码共享极致的理想迈进,但是一些怪异的[坑洞]会打击开发者的使用意愿,本文将演示一个很常见的入门困扰与解决方式。演示版本:Xamarin.Forms.1.3.1.6294-pre1(支持Unified API) 演示目标:红框标示的控件放在ListView外面与里面(由分隔线区分)的结果要一致。
在Microsoft版的Xaml开发中,上下两块红框中的Button都是使用Command="{Binding CmdAdd}" 来触发想做的命令,控件不会因为所处位置不同而有用法的差别;但是在Xamarin版的Xaml开发中,下方ListView内的Button却使用Event的写法Clicked="OnClicked",明显的逻辑不一致!
这种设计上的混乱还会影响.cs,在事件处理的年代(WinForm、WebForm),习惯使用FindControlById之类的做法去取得画面上的值,但是Xaml是基于MVVM的,必须使用下列写法才能取得使用者正在操作的那一列对象。
在新版修正前,这种基础解法提供开发者绕过这个坑,享受Xamarin.Forms的优点。
相关下载
• 范例文件下载
https://github.com/ThinkPowerXamarin/Xamarin.FormsApp01
转载自:昕力大学