我有一个Xamarin Forms项目,它包含一个基本视图和他自己的viewmodel绑定。
我正在尝试将视图元素绑定到ViewModel,因为它可以像posible一样简单,因为有些视图会有很多元素作为列表视图,标签,按钮...具有很多功能,可以改变视觉属性,示例可见性。
我认为使用Binding绑定每个属性都是一个例子。
<Label
Text="{Binding PasswordLabel,Mode=OneWay}"
VerticalOptions="Center"
HorizontalOptions="Center" />
<Entry
Text="{Binding Password, Mode=TwoWay}"
IsPassword="True"
Placeholder="Password"
VerticalOptions="Center"
HorizontalOptions="CenterAndExpand"
/>
所以我尝试获取视图元素并与viewmodel中的通信对象绑定,如Button _button =“button”
这样我可以复制Web组件开发,任何具有自己的责任和可重用的组件。
你认为这是一个很好的实践我的想法,如果有可能做这个绑定?
答案 0 :(得分:1)
虽然你提到它的方式似乎很糟糕。您的视图模型代表您的视图,但它们不是视图,这意味着它们中不应存在任何UI元素。您的视图模型将与UI无关,它们应该只有属性和命令。
视图模型应该是可测试的,而不依赖于UI事件。您的viewmodel不知道Click,Tap或任何其他事件。