c# - 绑定(bind)不起作用 MVVMCross

标签 c# xamarin xamarin.android mvvmcross

我有以下实现,其中我正在变老并绑定(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/

相关文章:

c# - 如何使用 Skia 或 SkiaSharp 绘制富文本

javascript - 为 Excel 编写一个新函数

android - MvvmCross 和 Android 通知

xamarin.forms - 删除标题 View 中的左侧空间 xamarin forms

android - 如何在 Xamarin.Android 中获取指南针方向

c# - C# 中 WinForm TextBox 中数字的按键事件

c# - 无法从传输连接读取数据 : An existing connection was forcibly closed by the remote host

android - Xamarin Listview 不遵循 rtl 方向

xamarin - 为什么在鼠标工作时拖动 Xamarin ScrollView 不起作用

android - MonoDroid Looper.MyQueue() 卡在某些 Activity/空闲处理程序上?