コード例 #1
0
 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();
 }
コード例 #2
0
 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;
         }
     };
 }