Vote count: 0
I have the next viewmodel and i use canSubmit observable for SubmitOrder command. Quantity property is binded to TextBox's text property. And when i input some text in TextBox it doesn't trigger canSubmit observable and command is still be enabled. Here is my viewmodel:
public class CreateOrderViewModel : ReactiveObject
{
private int _quantity;
public int Quantity
{
get { return _quantity; }
set { this.RaiseAndSetIfChanged(ref _quantity, value); }
}
private ISymbol _selectedSymbol;
public ISymbol SelectedSymbol
{
get { return _selectedSymbol; }
set { this.RaiseAndSetIfChanged(ref _selectedSymbol, value); }
}
private BuySell _side;
public BuySell Side
{
get { return _side; }
set { this.RaiseAndSetIfChanged(ref _side, value); }
}
public ReactiveCommand<Unit, IOrderProcessor> SubmitOrder { get; }
public CreateOrderViewModel(IOrderService orderService)
{
var canSubmit = this.WhenAnyValue(v => v.SelectedSymbol, v => v.Quantity,
(symbol, quantity) => symbol != null && quantity > 0);
SubmitOrder = ReactiveCommand.Create(
() => orderService.SubmitOrder(CreateOrderFromParameters()),
canSubmit);
}
private Order CreateOrderFromParameters()
{
return new Order
{
Quantity = Quantity,
Symbol = SelectedSymbol,
Side = Side
};
}
}
asked 26 secs ago
ReactiveCommand with CanExecute on Int32 property
Aucun commentaire:
Enregistrer un commentaire