我是WPF的新成员,尝试使用ReactiveUI,我曾经使用过ICommand
/DelegateCommand
一次,但是现在我想使用ReactiveCommand
我想做的事情很简单。单击视图中的按钮,并使执行方法应用于视图模型。我已实现如下,但出现错误“无法将lambda表达式转换为类型system.Iobserver,因为它不是委托类型”
private ReactiveCommand _applyCommand;
public ICommand ApplyCommand
{
get { return _applyCommand; }
}
void Bind()
{
_applyCommand = new ReactiveCommand();
_applyCommand.Subscribe(_ =>
{
Apply();
});
}
void Apply()
{
}
我总是发现ReactiveCommmand
,如果您使用该static Create(..)
方法而不是仅构造它们,则将更容易使用。
// This works just like Josh Smith’s RelayCommand
var cmd = ReactiveCommand.Create(x => true, x => Console.WriteLine(x));
第一个参数是应该启用Command的时间(在这种情况下始终如此),但更常见的是,您传递一个发出true或false的observable。第二个lambda是要调用的实际操作。您不必使用它,但是在您习惯语法之前,它始终是一个不错的开始。
http://ReactiveUI.net上有很多帮助,但我建议您通读指南http://reactiveui.net/welcome/pdf
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句