【发布时间】:2014-10-10 07:07:06
【问题描述】:
我正在尝试将 ULabel 绑定到核心中的命令,但不知道为什么它不适合我。我读到 UILabel 可以绑定到默认的 Text 属性,所以我有以下简单的测试器来演示:
在 Touch 代码中,我有以下 ViewDidLoad:
var tipLabel = new UILabel(new RectangleF(10, 20, 300, 40));
Add(tipLabel);
var loginBtn = new UIButton(UIButtonType.RoundedRect) { Frame = new RectangleF(10, 100, 100, 40) };
loginBtn.SetTitle("Set Text", UIControlState.Normal);
var tap = new UITapGestureRecognizer(() =>
{
tipLabel.Text = DateTime.Now.ToShortTimeString();
});
loginBtn.AddGestureRecognizer(tap);
Add(loginBtn);
var set = this.CreateBindingSet<FirstView, FirstViewModel>();
set.Bind(tipLabel).For(p=>p.Text).To(vm=>vm.TestCommand);
set.Apply();
在核心中:
private MvxCommand _testCommand;
public ICommand TestCommand
{
get { return this._testCommand ?? (this._testCommand = new MvxCommand(this.Test)); }
}
public void Test()
{
}
我错过了什么?
谢谢 标记
【问题讨论】:
-
Command 应该用于 Click 等操作。为什么要将文本字段绑定到 Command?您应该将其绑定到字符串属性
标签: c# binding xamarin mvvmcross