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)
{
}
}
}