我有以下实现,其中我正在变老并绑定(bind)它。然而,无论我做什么,它都没有在 UI 上更新,而且由于某种原因它甚至没有击中 getter。
View 模型
public void Initialize()
{
Age = 33;
}
public double _age;
public double Age
{
get { return _age ; }
set
{
_age = value;
RaisePropertyChanged(() => Age);
}
}
xml
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
local:MvxBind="Text Age" />
最佳答案
在没有更多上下文的情况下,很难准确说出。代码看起来是正确的。为了使绑定(bind)起作用,您需要遵循正确的命名约定,以便 MvvmCross 可以将所有必要的点点滴滴相互关联。所以在这种情况下,如果您的 View 称为 AgeDisplayView,则您的 View 模型必须称为 AgeDisplayViewModel。您的 View 还必须覆盖 OnCreate 方法并使用它将 ContentView 设置为包含 MvxBind 指令的布局文件(例如 SetContentView(Resource.Layout.AgeDisplayViewLayout)。
那将是我首先要看的地方。
关于c# - 绑定(bind)不起作用 MVVMCross,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38600536/