WPF之自定义控件

一:自定义属性

Step 1 : 声明公共属性;

Step 2 : 注册依赖属性;

二:自定义事件

Step 1 : 声明公共事件;

Step 2 : 注册事件;

Step 3 : 依赖属性声明回调PropertyChangedCallback(OnPropertyChanged),这里OnPropertyChanged是静态方法;

Step 4 : 实现方法 public void OnPropertyChanged(object oldValue,object newValue),new 一个RoutedPropertyChangedEventArgs<T>,并为new出来的对象的RoutedEvent附上注册的事件;

Step 5 : 实现方法 public static void OnPropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e),根据e取得新旧值并调用public void OnPropertyChanged(object oldValue,object newValue);

三:自定义命令

Step 1 : 声明静态只读命令;

Step 2 : 实现公共静态空方法Excute(object sender,ExecutedRoutedEventArgs e)和CanExecute(object sender, CanExecuteRoutedEventArgs e);

Step 3 : 在静态函数(必定会执行的代码段,一定会为控件注册上命令)中为自定义控件注册命令,CommandManager.RegisterClassCommandBinding(typeof(UserControl), new CommandBinding(Command, Command_Executed, Command_CanExecute));

原文地址:https://www.cnblogs.com/XzcBlog/p/3222464.html