public static void Bind(this Button control, ICommandText command) { control.DataBindings.Add("Enabled", command, "CanExecute"); control.DataBindings.Add("Text", command, "Text"); control.DataBindings.Add("ForeColor", command, "ForeColor"); control.Click += (o, e) => command.Execute(); }
public static void Bind(this ToolStripMenuItem control, ICommandText command) { control.Text = command.Text; control.ForeColor = command.ForeColor; control.Enabled = command.CanExecute; control.Click += (o, e) => command.Execute(); command.PropertyChanged += (sender, args) => { if ("Text".Equals(args.PropertyName)) { control.Text = command.Text; } else if ("ForeColor".Equals(args.PropertyName)) { control.ForeColor = command.ForeColor; } else if ("CanExecute".Equals(args.PropertyName)) { control.Enabled = command.CanExecute; } }; }