private static void HandleWorkItemChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { WorkItemWindow window = d as WorkItemWindow; if (window == null) { return; } window.DataContext = window; var item = e.NewValue as WorkItem; if (item == null) { return; } window.ValidationErrors = item.Validate(); item.FieldChanged += (sender, args) => window.Dispatcher.Invoke(new Action <WorkItemWindow, ArrayList>(SetValidationErrors), window, item.Validate()); }
private static void SetValidationErrors(WorkItemWindow window, ArrayList validationErrors) { window.ValidationErrors = validationErrors; CommandManager.InvalidateRequerySuggested(); }