WPF命令介绍、命令和数据绑定集成应用

要开始使用命令,必须做三件事:

一:定义一个命令

二:定义命令的实现

三:为命令创建一个触发器

WPF中命令系统的基础是一个相对简单的ICommand的接口,代码如下:

public interface ICommand
{
 event EventHandler CanExecuteChanged;
 bool CanExecute(object parameter);
 void Execute(object parameter);
}

CanExecute用于确定命令是否处于可执行的状态。典型的,UI控件能使用CanExecute来启用或禁用 自己。也就是说,在相关的命令从CanExecute中返回False的时候,按钮将变得不可用。

Execute是命 令的关键,当被调用时,它将触发命令的执行。

要定义一个新命令,可以实现ICommand接口。如希望ICommand在被调用后关闭应用程序,代码如下:

public class Exit : ICommand {
 event EventHandler CanExecuteChanged;
 public bool CanExecute(object parameter)
{
 return true;
}
public void Execute(object parameter)
 {
Application.Current.Shutdown();
}
}

要把一个菜单项绑定到应用程序关闭这个命令上,可以把他们的Command属性挂到Exit命令上,代 码如下:

<MenuItem Header="_File">
 <MenuItem Header="_Exit">
 <MenuItem.Command>
 <local:Exit/>
</MenuItem.Command>
 </MenuItem>
</MenuItem>

由于把命令用于多个位置比较常见,所以创建一个存储命令的静态字段也常见:

public static readonly ICommand ExitCommand = new Exit();

这样做的好处是,通过 这个类型为ICommand的字段,可以让Exit命令的实现完全私有化。现在,可以把Exit标记为私有类,并把标记 转化为绑定到静态字段,代码如下:

<MenuItem Header="_File">
            <MenuItem Header="_Exit" Command="{x:Static local:WinCommand.ExitCommand}"/>
        </MenuItem>

下面我们通过添加一个和Close命令挂接的按钮,可以为窗口编写一个 模板,以实现关闭窗口的功能,代码如下:

<Window.Style>
        <Style TargetType="Window">

            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate  TargetType="Window">
                        <DockPanel>
                            <StatusBar DockPanel.Dock="Bottom">
                                <StatusBarItem>
                                    <Button
                            Command="{x:Static 

ApplicationCommands.Close}">Close</Button>
                                </StatusBarItem>
                            </StatusBar>
                            <ContentPresenter/>
                        </DockPanel>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Window.Style>

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索命令
, 代码
, public
, 字段
, parameter
一个
wpf 命令绑定、wpf 事件绑定命令、c wpf 命令绑定、wpf listbox 数据绑定、wpf 数据绑定,以便于您获取更多的相关知识。

时间: 2024-08-04 05:21:37

WPF命令介绍、命令和数据绑定集成应用的相关文章

WPF命令(Command)介绍、命令和数据绑定集成应用

要开始使用命令,必须做三件事:                                               一:定义一个命令                                               二:定义命令的实现                                               三:为命令创建一个触发器     WPF中命令系统的基础是一个相对简单的ICommand的接口,代码如下: public interface IComma

WPF 自定义快捷键命令(Command)

命令简介 WPF 中的命令是通过实现 ICommand 接口创建的.ICommand 公开两个方法(Execute 及 CanExecute)和一个事件(CanExecuteChanged).Execute 执行与命令关联的操作.CanExecute 确定是否可以在当前命令目标上执行命令.如果集中管理命令操作的命令管理器检测到命令源中发生了更改,此更改可能使得已引发但尚未由命令绑定执行的命令无效,则将引发 CanExecuteChanged.ICommand 的 WPF 实现是 RoutedCo

WPF自定义快捷键命令(Command)

命令简介 WPF 中的命令是通过实现 ICommand 接口创建的.ICommand 公开两个方法(Execute 及 CanExecute)和一个事件(CanExecuteChanged). Execute 执行与命令关联的操作.CanExecute 确定是否可以在当前命令目标上执行命令.如果集中管理命令操作的命令管理器检测到命令源中发生了更改,此更改可能使得已引发但尚未由命令绑定执行的命令无效,则将引发 CanExecuteChanged.ICommand 的 WPF 实现是 RoutedC

Linux基础命令介绍十五:推陈出新

本文介绍ip.ss.journalctl和firewall-cmd,它们旨在代替linux中原有的一些命令或服务. 1.ip ip [OPTIONS] OBJECT COMMAND  ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,例如ifconfig.route等,使用权限为超级用户. OPTIONS是修改ip行为或改变其输出的选项. OBJECT是要获取信息的对象.包括: address   表示设备的协议(IPv4或IPv6)地址  link  

Linux基础命令介绍十三:启动流程

固件(firmware)是指设备最底层的,让设备得以运行的程序代码.简单理解就是:固定在硬件上的软件.计算机中的许多设备都拥有固件(如硬盘.鼠标.光驱.U盘等),在计算机启动过程中,最先读取的就是位于主板上的固件,这个固件当前有两种类型:传统的BIOS和新的通用性更强的UEFI. 在上一篇中,我们提到另一种磁盘分区格式GTP也是UEFI标准的一部分.于是,当前计算机启动中,出现了两种不同的方式:BIOS/MBR和UEFI/GTP. 在linux操作系统的世界中,同样在经历着变革,系统初始化软件s

Linux基础命令介绍十二:磁盘与文件系统

本篇讲述磁盘管理相关的命令.计算机中需要持久化存储的数据一般是保存在硬盘等辅助存储器中.硬盘一般容量较大,为了便于管理和使用,可以将硬盘分成一到多个逻辑磁盘,称为分区;为使分区中的文件组织成操作系统能够处理的形式,需要对分区进行格式化(创建文件系统);在linux中,对于格式化后的分区,还必须经过挂载(可简单理解为将分区关联至linux目录树中某个已知目录)之后才能使用. 1.df 显示文件系统磁盘空间使用量 [root@centos7 temp]# df -h  文件系统           

Linux基础命令介绍四:文本编辑vim

本文介绍vim(版本7.4)的一般用法. vim是功能强大的文本编辑器,是vi的增强版. vim [options] [file ..]  使用vim编辑一个文件的最常用命令就是: vim file  其中file可以是一个新文件,也可以是原有文件.这样的命令执行后将打开编辑器,显示文件file的内容.如图所示: 如果是一个新文件,底部左边会显示"file" [新文件]的字样,右边显示0,0-1表示当前光标所在行数和字符数.如果打开的是一个老文件,底部左边显示"file&qu

linux基础命令介绍五:文本过滤 grep

在linux中经常需要对文本或输出内容进行过滤,最常用的过滤命令是grep grep [OPTIONS] PATTERN [FILE...]  grep按行检索输入的每一行,如果输入行包含模式PATTERN,则输出这一行.这里的PATTERN是正则表达式(参考前一篇,本文将结合grep一同举例). 输出文件/etc/passwd中包含root的行: [root@centos7 temp]# grep root /etc/passwd  root:x:0:0:root:/root:/bin/bas

Crontab 命令介绍

一.  Crontab 介绍        crontab命令的功能是在一定的时间间隔调度一些命令的执行.   1.1 /etc/crontab 文件        在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序.每个用户可以建立自己的调度crontab.        如: [root@dave ~]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HO