xaml - Xamarin xaml 绑定
问题描述
我正在尝试将我的 xaml 绑定到我的视图模型中的一个属性,但它没有按我的预期工作。
以下代码有效,但似乎创建了 mainwindowviewmodel 对象的新实例,这将导致问题。
<Label Text="{Binding Path=Test}" >
<Label.BindingContext>
<local:MainWindowViewModel />
</Label.BindingContext>
</Label>
以下根本不起作用。
<Label Text="{Binding Path=Test}" >
</Label>
我的视图模型中有属性 Test 。
我究竟做错了什么?
解决方案
确保将BindingContext
View设置为模型的实例(MainWindowViewModel)
以使第二个代码段工作。
例如在视图代码的构造函数中
public MainWindow() {
InitializeComponents();
var viewModel = new MainWindowViewModel();
this.BindingContext = viewModel;
}
或者直接在视图中
<MainWindow.BindingContext>
<local:MainWindowViewModel />
</MainWindow.BindingContext>
以上两者在技术上是等效的。
推荐阅读
- reactjs - 如何使用有状态组件将数组从父组件传递给子组件?
- ios - 是否有任何工具可以使用 python 在 Windows 中执行 iOS 自动化脚本?
- reactjs - 使用 propTypes 反应解构
- tizen - Tizen .net 应用程序。如何访问设备硬按钮
- javascript - Vue js 在路由器视图上失去了 jquery 效果
- c# - 如何将指向变量的指针传递给 S3 进度函数回调?
- jquery - t-datepicker 选择后向左滑动月份
- angular - 表单控件始终在异步验证器中挂起
- asp.net - 如何将身份验证方法添加到已经存在的 Okta 到 ASP.NET 项目
- apache-spark - Spark 基于 Dataframe APi 的列使用 TTL 写入 Cassandra