如何将工具栏MenuItem.IsEnabled与MvvmCross和Xamarin.Android绑定

时间:2017-03-28 14:45:10

标签: xamarin.android mvvmcross

使用MvvmCross和Xamarin.Android是否可以将工具栏MenuItem的IsEnabled属性绑定到viewmodel中的布尔值?如果是这样,它是如何完成的?

1 个答案:

答案 0 :(得分:0)

我认为此时将Android IMenuItem.IsEnabled绑定到viewmodel上的布尔值是不可能的,因为IsEnabled是readonly并且更改了菜单项的启用状态需要调用{{ 1}}。

我通过在Activity / Fragment中为SetIsEnabled(bool)添加事件处理程序来解决这个限制。我的所有视图模型都继承自MvxViewModel.PropertyChanged,因此我可以共享 方式。我的大多数应用程序都是使用Fragments实现的,所以我的例子反映了这一点,(在我的实际代码中,我将大部分内容放在基础Fragment类中,但我想保持简单):

MvxViewModel

这应该被视为伪代码,因为它试图证明我用来解决原始问题的一般概念。