潜移默化学会WPF--Command(命令)学习(一) - AYUI框架 - 博客园

原文:潜移默化学会WPF--Command(命令)学习(一) - AYUI框架 - 博客园

1.Command心法

1.1 接触

在窗体上可以定义<Window.CommandBindings>,这个跟 资源 类比,然后这样定义

<Window.CommandBindings>

<CommandBinding Command="ApplicationCommands.New"

Executed="NewCommand" />

</Window.CommandBindings>

这样可以方便下面内容可以调用它,跟 资源 很像Command="ApplicationCommands.New"    表示新建,Command的值可以是其他的,例如复制(Copy),剪切(Cut)...至于其他的你可以自己试试,系统已经定义好的,当然你也可以自定义命令。   Executed 的值  是个事件名,也就是当你 按Ctrl+N 时,会执行后台定义好的事件NewCommand里面的方法。命令也可以这样调用

1.2 潜移默化

<Menu>

<MenuItem Header="File">

<MenuItem Command="New"></MenuItem>

</MenuItem>

</Menu>

<Button Margin="5" Padding="5" Command="ApplicationCommands.New"

ToolTip="{x:Static ApplicationCommands.Copy}">New</Button>

1.3 具体代码

<Window x:Class="Commands.TestNewCommand"    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"    Title="TestNewCommand" Height="134" Width="281"    >  <Window.CommandBindings>    <CommandBinding Command="ApplicationCommands.New"      Executed="NewCommand" />  </Window.CommandBindings>  <StackPanel >    <Menu>      <MenuItem Header="File">        <MenuItem Command="New"></MenuItem>      </MenuItem>    </Menu>    <Button Margin="5" Padding="5" Command="ApplicationCommands.New"            ToolTip="{x:Static ApplicationCommands.Copy}">New</Button>    </StackPanel></Window>

后台代码

?

using System;

using System.Collections.Generic;

using System.Text;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Data;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Imaging;

using System.Windows.Shapes;

namespace Commands

{

    public partial class TestNewCommand : System.Windows.Window

    {

        public TestNewCommand()

        {

            InitializeComponent();

        }

        private void NewCommand(object sender, ExecutedRoutedEventArgs e)

        {           

           MessageBox.Show("New command triggered by " + e.Source.ToString());

        }

}

}

  

效果:

通过菜单单击,或者按钮单击都会调用NewCommand这个方法,只不过事件源不一样

补充:

默认 ApplicationCommands.New 会在菜单中显示 新建   Ctrl+N 这种提示,你可以通过

ApplicationCommands.New.Text = "你想要的值";修改

你也可以后台动态添加命令:

CommandBinding bindingNew = new CommandBinding(ApplicationCommands.New);

bindingNew.Executed += NewCommand;

this.CommandBindings.Add(bindingNew);

这个就不用我讲解了吧,你懂的,呵呵。

下一章你将会掌握Command

原文地址:https://www.cnblogs.com/lonelyxmas/p/10459037.html

时间: 2024-07-31 13:52:23

潜移默化学会WPF--Command(命令)学习(一) - AYUI框架 - 博客园的相关文章

潜移默化学会WPF--Command(命令)学习(三) - AYUI框架 - 博客园

原文:潜移默化学会WPF--Command(命令)学习(三) - AYUI框架 - 博客园 3.修炼 3.1 自定义命令 涉及到的一些概念,例如 InputGestureCollection这个集合,路由命令(RoutedUICommand)等我们不用太紧张,潜移默化学会他们的用法,Ok,学习吧 先看代码,先看后台 using System.Collections.Generic;using System.Text;using System.Windows;using System.Window

潜移默化学会WPF--Command(命令)学习(二) - AYUI框架 - 博客园

原文:潜移默化学会WPF--Command(命令)学习(二) - AYUI框架 - 博客园 2. 基本功 2.1 先看一段代码 前台页面上的 1 <Window x:Class="Commands.SimpleDocument" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winf

10个值得推荐的学习编程的网站————博客园

/10个值得推荐的学习编程的网站 世界已经进入了互联网的时代.据最近发布的一篇<2016年互联网趋势>报告显示,中国已成为互联网市场的领导者,中国互联网用户的数量达到了6.68亿.可以预见,有着如此巨大的市场潜力,中国的互联网产业会迎来又一个井喷式的高峰.行业的迅猛发展也会相应地刺激行业人才的发展.据不完全统计,目前中国互联网从业人员的数量达到了5000多万人.从细分行业来看,互联网从业人员集中在移动互联网和电子商务这两大领域,岗位以技术类和运营类为主.其中,编程开发人员是技术类岗位的主力军,

字典树的学习(剪辑的博客文章)

字典树(讲解+模版) 又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计.它的优点是:利用字符串的公共前缀来节约存储空间,最大限度地减少无谓的字符串比较,查询效率比哈希表高. 字典树与字典很相似,当你要查一个单词是不是在字典树中,首先看单词的第一个字母是不是在字典的第一层,如果不在,说明字典树里没有该单词,如果在 就在该字母的孩子节点里找是不是有单词的第二个字母,没有说明没有该单词

python学习第一弹:爬虫(抓取博客园新闻)

前言 说到python,对它有点耳闻的人,第一反应可能都是爬虫~ 这两天看了点python的皮毛知识,忍不住想写一个简单的爬虫练练手,JUST DO IT 准备工作 要制作数据抓取的爬虫,对请求的源页面结构需要有特定分析,只有分析正确了,才能更好更快的爬到我们想要的内容. 打开博客园任何一个新闻页面,比如https://news.cnblogs.com/n/570973/,思路是通过这个源页面,并且根据页面中的“上一篇”.“下一篇”等链接,源源不断的爬取其它新闻内容. 浏览器访问https://

[Python] 命令行模式阅读博客园的博文

通过Python脚本读取博客园分页数据,把标题.摘要和链接过滤出来,方便我们在命令行中阅读. 阅读本文可以熟悉一般爬虫的原理,以及指令交互界面的开发. 一.说明 运行环境:win10/Python 3.5(Win10的玩家可以下载 Window Terminal Preview玩玩,确实不错!): 主要模块:requests(发送http请求).lxml.etree(格式化DOM树,xpath查找).sys(获取命令行参数.重写标准输出等).os(系统相关.如清屏操作): 注意:由于时间仓促,没

java学习记录转战博客园

之前开始学习时就在安卓巴士那边记录学习笔记,但是最近由于未知原因,安卓巴士不能发表文章了.又偶然得知博客园,所以以后在这里记录学习的一切. 之前的链接: http://www.apkbus.com/home.php?mod=space&uid=833059&do=blog&view=me&from=space

加入博客园,学习,分享,交流

我只是一个大专的学生,高中没有好好努力学习,并且不愿意读2b,很多原因吧,选择学校的时候就选了3A的.但是一进去学习了一个星期我深深的感受到了大部分人都不是认真学习的.在宿舍的时候大多数都是(你懂得).我选择了软件技术的专业,转眼就是大一学生了,上学期学的东西貌似都只是些毛皮.我想好好学习IT技术,改变人们的生活,改变我的生活.在学校软件基地的一次组织HTML5的学习中,虽然我什么都没学到,因为没有基础,老师教的知识应该是大二学生应该听的,但是老师也教了许多软件的快捷键等等.并且给了我非常需要的

多IDC数据分布--MySQL多机房部署 - 学习笔记 - 51CTO技术博客

多IDC数据分布--MySQL多机房部署 - 学习笔记 - 51CTO技术博客 多IDC数据分布--MySQL多机房部署