2017-06-01 18 views
0

我有一个带有基本视图和他各自的视图模型绑定的Xamarin Forms项目。将视图元素绑定到ViewModel的最佳实践Xamarin表单

我试图将视图元素绑定到ViewModel上,因为有些视图会有很多元素作为列表视图,标签,按钮......这些功能会改变视觉属性,例如能见度。

我认为绑定每一个属性与绑定作为这个例子是一个原因。

 <Label 
     Text="{Binding PasswordLabel,Mode=OneWay}" 
     VerticalOptions="Center" 
     HorizontalOptions="Center" /> 
     <Entry 
     Text="{Binding Password, Mode=TwoWay}" 
     IsPassword="True" 
     Placeholder="Password" 
     VerticalOptions="Center" 
     HorizontalOptions="CenterAndExpand" 
     /> 

所以我尽量让观点的元素,并与喜欢按钮_button =“按钮”

这样我可以复制Web组件开发,用自己的责任和可重复使用的任何组件视图模型对应的对象绑定。

你认为我的想法是一个很好的做法,如果是可行的做这个绑定?

回答

1

虽然它看起来像你提到的那样是因为它是必须的。您的视图模型代表您的视图,但它们不是视图,这意味着它们不应该存在任何UI元素。您的视图模型将不可知的用户界面,他们应该只有属性和命令。

视图模型应该可测试而不依赖于UI事件。您的视图模型不知道点击,点按或任何其他事件。

+0

我这么认为MVVM模式不是我想要的工作方式,您怎么看待将xamarin实用程序改编为自定义组件基本框架?我认为可以对Web开发人员有用 – Danielbahe

+0

最后,我发现了最好的方法(对我来说)我的视图只是将UI元素绑定到ViewModel上的一个属性,例如,文本,单击Commands,然后我做一个导航静态类,这样视图没有关于导航或了解其他类或模块的逻辑。我的解决方案中的每个项目都是不可知的。 – Danielbahe