zoukankan      html  css  js  c++  java
  • WPF——执行命令清空文本框

    一、造一个窗体,在窗体里面先造一个StackPanel,然后再StackPanel里面放好按钮和文本框,注意给所有的控件和容器起名字

     <Grid>
            <StackPanel Name="Sp1" HorizontalAlignment="Left" Height="350" Margin="0" VerticalAlignment="Top" Width="525">
                <Button Name="btn1" Content="exeCommand" Height="41"/>
                <TextBox Name="TextBox1" Height="284" TextWrapping="Wrap" Text=""/>
            </StackPanel>
    
        </Grid>

    二、开始写命令 执行清空

     public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
                mingling();
            }
    
            //上来需要声明并定义命令
            RoutedCommand Command = new RoutedCommand("清空",typeof(MainWindow)); //里面的两个参数第一个是名字,第二个是执行命令的类型
    
            //开始写命令函数
            public void mingling()
            { 
                //创建按钮的命令
                btn1.Command = Command;
    
                //定义快捷键
                Command.InputGestures.Add((new KeyGesture(Key.C,ModifierKeys.Alt))); //快捷键是Alt+C
    
                //指定按钮的命令目标
                btn1.CommandTarget = TextBox1;
    
                //创建命令关联
                CommandBinding cb = new CommandBinding() //CommandBinding:用于将命令和命令的安排逻辑链接起来,譬如同样的"粘贴",但粘贴文本和粘贴图片的解决逻辑是不一样的,
                {
                    Command = Command,
                };
                cb.CanExecute += cb_CanExecute; //CanExecute:当与该 CommandBinding 关联的命令启动检查以确定是否可以在命令目标上执行此命令时发生。
                cb.Executed+=cb_Executed; 
                Sp1.CommandBindings.Add(cb);
            }
    
            private void cb_Executed(object sender, ExecutedRoutedEventArgs e)
            {
                TextBox1.Clear(); //文本框清空
                e.Handled = true;//Handled:获取或设置一个值,该值指示是否处理过 KeyPress 事件。如果执行过,则为ture,否则为false
               
    
            }
    
            private void cb_CanExecute(object sender, CanExecuteRoutedEventArgs e)
            {
                if (string.IsNullOrWhiteSpace(TextBox1.Text))
                {
                    e.CanExecute = false;
                }
                else
                {
                    e.CanExecute = true;
                }
                e.Handled = true;
            }
        }

    三、点击按钮

    点击按钮前:

    点击按钮后:

  • 相关阅读:
    【Jquery】根据元素个数给予宽度
    【Jquery】判断宽度跳转
    【CSS】滚动条样式
    关于vue在列表展示数据的时候,选择更改其中一项,数据跟着实时变动的问题
    JAVA基础知识
    华为机试 字符串分隔
    华为机试 计算字符个数
    华为机试 字符串最后一个单词的长度
    简单构造 Ext.tree 树例子
    Ext.form.Label组件动态设置html值
  • 原文地址:https://www.cnblogs.com/lk-kk/p/4608860.html
Copyright © 2011-2022 走看看