zoukankan      html  css  js  c++  java
  • WPF自定义命令

    WPF的自定义命令实现过程包括三个部分,定义命令、定义命令源、命令调用,代码实现如下:

        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
                
            }
    
            /// <summary>
            /// 自定义命令演示
            /// </summary>
            public void TestUserDefineCommand() {
                UserDefineCommandSource source = new UserDefineCommandSource();
                UserDefineCommand userCmd = new UserDefineCommand();
                source.Command = userCmd;
                source.CommandTarget = this;
            }
        }
    
        public class UserDefineCommand : ICommand
        {
            public event EventHandler CanExecuteChanged;
            public bool CanExecute(object parameter)
            {
                throw new NotImplementedException();
            }
            public void Execute(object parameter)
            {
                
            }
        }
    
        public class UserDefineCommandSource : UserControl, ICommandSource
        {
            public ICommand Command { get; set; }
            public object CommandParameter { get; set; }
            public System.Windows.IInputElement CommandTarget { get; set; }
    
            protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
            {
                base.OnMouseLeftButtonDown(e);  
                if (this.CommandTarget != null && this.Command != null)
                    this.Command.Execute(this.CommandTarget);
            }
        }
    

      Button控件的定义如下:public abstract class ButtonBase : ContentControl, ICommandSource,因为实现了ICommandSource接口,因此,可以Button为命令源,可以为其设置命令。

  • 相关阅读:
    数据结构概论
    html基础:有序列表 框架集 form表单
    html基础:定义 图片 表格
    给出2个数和一个运算符号,用函数求结果
    百钱买百鸡问题
    九九乘法表
    过路问题
    php基础:控制结构 总结
    php基础:变量,运算符总结
    php基础:数据库的含义和基本操作 增 删 改 查
  • 原文地址:https://www.cnblogs.com/zhaiyf/p/8430897.html
Copyright © 2011-2022 走看看