public TodoItemViewModel(TodoItem todoItem) { this.Model = todoItem; this.Title = this.Model .ToReactivePropertyAsSynchronized(x => x.Title) .SetValidateAttribute(() => this.Title); this.Completed = this.Model .ToReactivePropertyAsSynchronized(x => x.Completed); this.ForegroundBrush = this.Model .ObserveProperty(x => x.Completed) .Select(x => x ? new SolidColorBrush(Colors.DarkGray) : new SolidColorBrush(Colors.Black)) .Select(x => (Brush)x) .ToReadOnlyReactiveProperty(); this.HasErrors = Observable.CombineLatest( this.Title.ObserveHasErrors, this.Completed.ObserveHasErrors) .Select(x => x.Any(y => y)) .ToReadOnlyReactiveProperty(); }
public void AddTodoItem(TodoItem todoItem) { this.AllTodoItems.Add(todoItem); }