public TodoItemComponent() { InitializeComponent(); // Observe UI events CompleteButton.Events().Click .Subscribe(_ => Store.Dispatch(new CompleteTodoItemAction { Id = TodoItem.Id })); RevertCompleteButton.Events().Click .Subscribe(_ => Store.Dispatch(new RevertCompleteTodoItemAction { Id = TodoItem.Id })); RemoveButton.Events().Click .Subscribe(_ => Store.Dispatch(new RemoveTodoItemAction { Id = TodoItem.Id })); TextBox.Events().LostFocus .Subscribe(e => Store.Dispatch(new UpdateTodoItemAction { Id = TodoItem.Id, Content = TextBox.Text })); }
private void Initialize() { if (TodoItem != null) { // Initialize UI TextBox.Text = TodoItem.Content ?? string.Empty; CompleteButton.HideIf(TodoItem.Completed); RevertCompleteButton.ShowIf(TodoItem.Completed); } }
private void CreateButtons(Type Class, WrapPanel target) { _core.AttachTypeToRuntime(Class); var items = PythonCore.GetClassMembers(Class); CompleteButton cb; foreach (var item in items) { cb = new CompleteButton(); cb.Content = item.Key; cb.CompleteText = item.Value; cb.Click += InstertButton_Click; cb.Margin = new Thickness(2); cb.ToolTip += _help.LookupDescription(item.Value); cb.Height = 54; cb.Width = 100; target.Children.Add(cb); } }