using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; namespace wpf控件互相绑定 { /// <summary> /// Window1.xaml 的交互逻辑 /// </summary> public partial class Window1 : Window { public Window1() { InitializeComponent(); InitCommand(); if (string.IsNullOrEmpty(txt.Text)) //判断是否为空 { this.btn1.IsEnabled = false; } else { this.btn1.IsEnabled = true; } } RoutedCommand rc = new RoutedCommand("clear", typeof(Window1)); public void InitCommand() { btn1.Command = rc; rc.InputGestures.Add(new KeyGesture(Key.C,ModifierKeys.Alt)); //定义快捷键 btn1.CommandTarget = txt; CommandBinding cb=new CommandBinding () { Command =rc, }; cb.CanExecute+=cb_CanExecute; cb.Executed += cb_Executed; sp.CommandBindings.Add(cb); } private void cb_CanExecute(object sender, CanExecuteRoutedEventArgs e) { if (string.IsNullOrEmpty(txt.Text)) { e.CanExecute = false; } else { e.CanExecute = true; } e.Handled = true; } void cb_Executed(object sender, ExecutedRoutedEventArgs e) { txt.Clear(); e.Handled = true; } private void Button_Click_1(object sender, RoutedEventArgs e) { } } }
原文:http://www.cnblogs.com/275147378abc/p/4607626.html