0
此问题正在根据https://github.com/slodge/MvvmCross/issues/367线程中的讨论扎根。如何监听DataContext更改以相应地调整UI状态
如果我们在与MvvmCross框架建立绑定,然后我们就设置绑定控制使用bind()的属性(比如UILabel.Text),向()扩展了最近的例子:
this.DelayBind(() => {
var set = this.CreateBindingSet<KittenCollectionCell, Kitten>();
set.Bind(NameLabel).To(kitten => kitten.Name);
set.Bind(PriceLabel).To(kitten => kitten.Price);
set.Bind(_loader).To(kitten => kitten.ImageUrl);
set.Apply();
});
但是如果我想根据DataContext中的某些值调整我的UI状态会怎么样。例如,我想显示/隐藏一些按钮和标签并调整一些约束值。
if (((UserInfo)DataContext).IsAdmin)
{
SaveButton.Hidden = false;
SecurityLabelConstraint.Constant = 50;
/* etc */
}
我该如何监听DataContext更改事件?这里推荐的方法是什么?
谢谢。