【发布时间】:2015-04-20 11:59:53
【问题描述】:
我在我的项目中使用了其他一些 MVVMLight 绑定,它们都可以正常工作,但现在我似乎无法超越这个。
在其 OnCreateView 上膨胀 Fragment 后,我保存了一堆我想绑定到的控件:有些是 LinearLayouts(我想根据 VM 的属性),还有一些是我想将字符串绑定到的 TextView。
在寻找此问题的解决方案时,我偶然发现有人说视图可能不会随着 OnCreateView 结束而膨胀,因此我对该控件的引用可能是错误的/空的/不正确的。因此,我将 setBinding 表达式移至 OnActivityCreated 方法,以至少“给它多一点时间”。另外,根据某人的建议,我的观点都是 Fragment 中的所有公共属性。
pluginCodeLayoutBinding = this.SetBinding(
() => ViewModel.CreateMode,
() => pluginCodeLayout.Visibility,
BindingMode.OneWay).ConvertSourceToTarget(Converters.BoolToVisibilityReverseConverter);
pluginCodeBinding = this.SetBinding(
() => ViewModel.Script,
() => pluginCode.Text,
BindingMode.OneWay);
这些绑定给出以下例外:
System.InvalidOperationException:找不到属性:可见性 System.InvalidOperationException:找不到属性:文本
但是当异常执行中断时,我可以检查 pluginCodeLayout 并看到它具有 Visibility 属性及其默认值。
任何帮助将不胜感激。
提前致谢!
【问题讨论】:
标签: xamarin xamarin.android mvvm-light