最近一直在研究Xmarin.forms,碰到了一个棘手的问题,就是在MVVM的情况下如何在ViewModel中去使用DisplayActionSheet,然而我使用的是XAML模式,也就是说,只有在后台页面中,才可以使用Page独有的DisplayActionSheet。找了一下 ...
最近一直在研究Xmarin.forms,碰到了一个棘手的问题,就是在MVVM的情况下如何在ViewModel中去使用DisplayActionSheet,然而我使用的是XAML模式,也就是说,只有在后台页面中,才可以使用Page独有的DisplayActionSheet。找了一下午资料,网上说,可以给彼此架一座桥梁,使ViewModel和Page连接起来。
首先,你需要在你的Page页面中,使用MessagingCenter来写一个DisplayActionSheet的方法
MessagingCenter.Subscribe<BaseViewModel, DisplayActionSheetModel>(this, "DisplayActionSheet", async (sender, values) => { get='_blank'>string result = String.Empty; result = await DisplayActionSheet(values.Title, values.ButtonOne, values.ButtonTwo, values.DisplayValues); if (values.OnCompleted != null) { values.OnCompleted(result); } });
当然,我是点击的第二个按钮之后才会弹出我所选择的I'm sure
private async Task DisTest() { await DisplayAlert("Test", DisData); }
原标题:关于xamarin.forms在MVVM情况下如何DisplayActionSheet
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。