C#中Wpf常常会用到的两个基类

WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。

using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;

namespace WpfApp.BaseInfo
{
    public class NotifyBase : INotifyPropertyChanged
    {
        public void DoNotify([CallerMemberName] string propName = "")
        {
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propName));
        }

        public event PropertyChangedEventHandler? PropertyChanged;
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;

namespace WpfApp.BaseInfo
{
    public class BaseCommand : ICommand
    {
        public Action<object?>? ExecuteCommand { get; set; }

        public Func<object?, bool>? CanExecuteCommand { get; set; }

        public BaseCommand(Func<object?, bool>? canExecuteCommand)
        {
            CanExecuteCommand = canExecuteCommand;
        }

        public BaseCommand(Action<object?>? executeCommand)
        {
            ExecuteCommand = executeCommand;
        }

        public BaseCommand(Func<object?, bool> canExecuteCommand, Action<object?> executeCommand)
        {
            CanExecuteCommand = canExecuteCommand;
            ExecuteCommand = executeCommand;
        }

        public bool CanExecute(object? parameter)
        {
            return CanExecuteCommand?.Invoke(parameter) == true;
        }

        public void Execute(object? parameter)
        {
            ExecuteCommand?.Invoke(parameter);
        }

        public event EventHandler? CanExecuteChanged;
    }
}

两个类型用于,属性变化通知,和命令绑定。WPF中必不可少的东西。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

望天hous

你的鼓励是我最大动力~谢谢啦!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值