WPF UI框架界面开发教程(一)

QQ:6726256

采用WPF MVVM框架 开发漂亮的主界面,以下是运行效果

WPF UI框架界面开发教程(一)_第1张图片

在项目引用Fody开源控件自动改变属性

WPF UI框架界面开发教程(一)_第2张图片

接下来封装ViewModel基类实现INotifyPropertyChanged

WPF UI框架界面开发教程(一)_第3张图片

系统窗体标题不方便扩展也不美观,所以采用WindowChrome实现标题栏扩展功能

WPF UI框架界面开发教程(一)_第4张图片

由于窗体,控件等需要设置颜色,创建颜色资源文件调用 

自定义重写主窗体样式 

WPF UI框架界面开发教程(一)_第5张图片

最后绑定命令实现最大化,最小化,关闭功能,先定义命令基类

WPF UI框架界面开发教程(一)_第6张图片

WPF UI框架界面开发教程(一)_第7张图片

WPF UI框架界面开发教程(一)_第8张图片

主要功能代码:

    
        
    

    
        
    

    
        
    
 [AddINotifyPropertyChangedInterface]
    public class BaseViewModel : INotifyPropertyChanged
    {
        /// 
        /// The event that is fired when any child property changes its value
        /// 
        public event PropertyChangedEventHandler PropertyChanged = (sender, e) => { };

        /// 
        /// Call this to fire a  event
        /// 
        /// 
        public void OnPropertyChanged(string name)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(name)); 
        }
    }
public class DelegateCommand : ICommand
    {
        private Action _action;
        private bool _canExecute;

        public DelegateCommand(Action action) : this(action, true)
        {
        }

        public DelegateCommand(Action action, bool canExecute)
        {
            this._action = action;
            this._canExecute = canExecute;
        }

        public event EventHandler CanExecuteChanged;

        public void OnCanExecuteChanged()
        {
            CanExecuteChanged?.Invoke(this, EventArgs.Empty);
        }

        public bool CanExecute(object parameter)
        {
            return this._canExecute;
        }

        public void Execute(object parameter)
        {
            this._action.Invoke(parameter);
        }
    } 
  

 推荐一款WPF MVVM框架开源项目:Newbeecoder.UI

Newbeecoder.UI开源项目

Demo下载:

Newbeecoder.UI开源项目icon-default.png?t=M3K6https://share.weiyun.com/py6W1dcK

后续会创建登录功能,敬请期待。。。。。。。

你可能感兴趣的:(c#,WPF,MVVM,UI设计,wpf,ui,c#)