要开始使用命令,必须做三件事:
一:定义一个命令
二:定义命令的实现
三:为命令创建一个触发器
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 数据绑定,以便于您获取更多的相关知识。