• C#WPF MVVM的简单实现


    INotifyPropertyChanged接口的实现

    internal class NotifyPropertyChanged : INotifyPropertyChanged
        {
            public event PropertyChangedEventHandler PropertyChanged;
    		
        	//属性变化时间通知
            protected void OnPropertyChanged(string propertyName)
            {
                if (PropertyChanged != null)
                {
                    PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
                }
            }
    		//使用堆栈跟踪找寻属性名调用属性变化
            protected void RaisePropertyChanged()
            {
                var stack = new StackTrace();
                var lastFrame = stack.GetFrame(1);
                var methodName = lastFrame.GetMethod().Name;
                OnPropertyChanged(methodName);
            }
        }
    

    ICommand接口的简单实现

    public class RelayCommand : ICommand
        {
            // 通知命令能不能执行
            public event EventHandler CanExecuteChanged
            {
                add { CommandManager.RequerySuggested += value; }
                remove { CommandManager.RequerySuggested -= value; }
            }
    
            //判断命令能不能执行
            public bool CanExecute(object parameter)
            {
                return true;
            }
    
            //当命令执行的时候执行什么事情
            public void Execute(object parameter)
            {
                if (ExcutedAction == null)
                {
                    return;
                }
                ExcutedAction();
            }
        
        	//下面是类的构造函数和传进来命令执行时候调用的委托
            public Action ExcutedAction { get; set; }
    
            public Func<object,bool> CanExcutedFunc { get; set; }
    
            public RelayCommand(Action action)
            {
                ExcutedAction = action;
            }
        }
    
  • 相关阅读:
    Supermap/Cesium 开发心得----获取三维视角的四至范围
    Supermap/Cesium 开发心得----定位
    GIS面试小知识点
    Oracle数据库小知识点整理
    利用 uDig 生成 GeoServer 可用的 SLD 渲染文件
    Geoserver设置style
    图片按宽高比1:1响应,窗口大小如何变化,图片宽高始终相等
    简单树
    递归渲染树
    div等高布局
  • 原文地址:https://www.cnblogs.com/niaofei123/p/15055876.html
Copyright © 2020-2023  润新知