按钮

转载 WPF -- 控件模板 (ControlTemplate)(一) https://blog.csdn.net/qq_23018459/article/details/79899838

送分小仙女□ 提交于 2020-01-22 01:11:50
ControlTemplate(控件模板) https://blog.csdn.net/qq_23018459/article/details/79899838 WPF包含数据模板和控件模板,其中控件模板又包括ControlTemplate和ItemsPanelTemplate,这里讨论一下ControlTemplate。 在WPF中每一个控件都有一个默认的模板,该模板描述了空间的外观以及外观对外界刺激所做出的反应(比如各种事件,按钮鼠标触摸后的背景色变化等)。然而在这个浮躁的社会,人们追求酷炫,色彩,所以这个任务就交给作为还要在这个社会上混生活的各位程序猿,啊啊啊 。。。。。。 我们可以自定义一个模板来替换控件默认模板以便打造个性化的控件。 这里讲一下控件模板与Style的异同,都是为了实现空间的个性化。Style只能改变控件已有的属性(比如字体颜色等),但控件模板可以改变空间的内部结构(VisualTree,视觉树)来完成更为复杂的定制,比如我们可以定制一个带图片的按钮。 可以这样理解,Style:一个正常健康的人,要追求个性,一般的做法是穿一些个性的衣服,或者留一个杀马特发型,更甚者纹身。这些只是改变作为人已有的一些属性。ControlTemplate:假如技术可以实现,一些人渴望拥有一双翅膀,这样就可以实现飞天梦了,一些人可能希望拥有和鱼一样的鳃

WPF界面设计技巧(10)-样式的继承

痴心易碎 提交于 2020-01-22 00:41:40
PS:现在我的 MailMail 完工了,进入内测阶段了,终于可以腾出手来写写教程了哈,关于MailMail的介绍及内测程序索取: http://www.cnblogs.com/SkyD/archive/2008/08/09/1264083.html 欢迎帮我捉虫,以及与我交流WPF技术 WPF的样式的继承属性极少被文章提及,以至于我在编写 MailMail 期间为此踌躇数日,最后终于在E文版的MS社区得到指点才得以解惑。 现将其分享出来,这是一个非常有用的特性,这是所有教程在讲Style时就该顺带讲出来的,我希望更多人看到,以少走弯路。 WPF的样式需要显示声明继承,即使用Style的BasedOn属性。 我们先在资源中定义一个基样式: < Style x:Key ="BASE" > < Setter Property ="Control.Margin" Value ="6" /> < Setter Property ="Control.Background" > < Setter.Value > < LinearGradientBrush StartPoint ="0.5,0" EndPoint ="0.5,1" > < GradientStop Offset ="1" Color ="#FF7A0000" /> < GradientStop Offset ="0.5"

WPF事件

落花浮王杯 提交于 2020-01-22 00:34:50
WPF引用路由事件,这些事件用来调用应用程序的元素树上的各种监听器上的处理程序。 路由事件主要有三种策略:冒泡、直接、隧道 (1)冒泡,这种事件处理方式是从源元素向上级流过去,直到到达根节点(页或窗体) (2)直接,这种处理方式是在源上处理,主要用在setter和trigger (3)隧道,又称作 Preview 事件,元素树的根处调用事件处理程序,依次向下直到源。 隧道事件和冒泡事件一般成对出现。同一对事件,执行时首先是隧道事件,然后冒泡事件。 可以再XAML或者代码中为控件添加事件,两者效果是一样的。 1.在XAML中添加事件 (1)为容器所有button添加事件 < StackPanel Button.Click = " Panel ButtonClick " > < Button Name = " Button1 " Width = " Auto " > Yes </ Button > < Button Name = " Button2 " Width = " Auto " > No </ Button > </ StackPanel > (2)添加单个对象事件,只对当前元素有效 < Button Name = " Button1 " Width = " Auto " Click = " ButtonClick " > Yes </ Button > 2.在代码中添加事件

11-Ajax和jQuery学习(4)- jQuery(1)

若如初见. 提交于 2020-01-22 00:26:15
1 jQuery jQuery 是一个 JavaScript 库,即对js的封装 jQuery 极大地简化了 JavaScript 编程,如对节点增删改查及动画添加 jQuery 封装了异步post和 get请求 1.1 jQuery 可以做的 HTML 元素选取 HTML 事件函数 HTML 元素操作-增删改查 CSS 操作 JavaScript 特效和动画 HTML DOM 遍历和修改 AJAX 1.2 jQuery 导入 把jquery.js导入项目WebContent的js 目录下 在html的head标签中导入jQuery的js文件 在script 标签中写jQuery代码,如图,代码都写在function的括号内 1.3 文档就绪函数 < % @ page contentType = "text/html;charset=UTF-8" language = "java" % > < html > < head > < title > Title < / title > < script type = "text/javascript" src = "./js/jquery-3.4.1.js" > < / script > < script type = "text/javascript" > // 文档加载完毕后再调用这个函数,js /* window.onload =

PhpStorm和WAMP配置调试参数,问题描述Error. Interpreter is not specified or invalid. Press “Fix” to edit your pro

三世轮回 提交于 2020-01-21 21:16:27
Error. Interpreter is not specified or invalid. Press “Fix” to edit your project configuration. 解决方法: 打开File->Settings 浏览到Languages & Frameworks->PHP Include Path添加D:\WAMP64\apps\phpsysinfo3.2.3\sample\distrotest\Pear 点击CLI Interpreter右边的…按钮,打开如下窗口 点击左上角的绿色加号按钮 选择Other Local… 配置如下: 假设WAMP安装路径为D:\WAMP64\,版本号可能会有差异,根据实际情况进行浏览选择。 PHP executable设置为D:\WAMP64\bin\php\php5.6.16\php.exe(点击…按钮浏览) Debugger extension设置为D:\WAMP64\bin\php\php5.6.16\zend_ext\php_xdebug-2.4.0rc2-5.6-vc11-x86_64.dll(点击…按钮浏览) 设置结果如下: 点击OK按钮保存设置。 最终设置结果如下: 点击OK按钮保存设置。 来源: CSDN 作者: 独立的精神信徒 链接: https://blog.csdn.net/x1037490413

vue+div.canvas图像标注功能实现

夙愿已清 提交于 2020-01-21 12:41:37
main.js import Vue from 'vue' import 'vueui-widgets/dist/index.css' import VueUI from 'vueui-widgets' import App from './App.vue' import router from './router' import store from './store' Vue.use(VueUI) Vue.config.productionTip = false new Vue({ router, store, render: h => h(App) }).$mount('#app') 组件.vue <template> <div class="mycanvas-container"> <div class="left"> <p>展示视口</p> <div class="myshow"> <img :src="mysrc" alt width="100%" /> <!-- <div id="canvas" style="width:100%;height:100%" class="mycanvas"></div> --> </div> </div> <div class="center"> <p>操作视口</p> <div class="myedit" ref="myedit"

JS学习笔记1

一个人想着一个人 提交于 2020-01-21 08:09:22
今日学习成果: 学习了JS的简介、实现、输出、语句、注释、变量、基本数据类型、对象、函数和运算符,了解了css和html的基本语法,在学习的过程中也发现了一些问题。 学习网址: http://www.w3school.com.cn/js/ 1、"=="与"===" "=="等同,比较运算符,只要两个参数的值相等即为true。 "==="恒等,严格比较运算符,只有两个参数的类型和值都相等时才为true。 如果两个参数至少有一个是NaN,结果为false 125==“125”//true 125===“125”//false NaN===NaN//flase 2、用于数字和字符串的 + 运算符 两个数字使用"+"会进行简单的加运算。 两个字符串则会进行拼接。 数字和字符串使用"+",数字会先被转化为字符串,然后进行拼接 x=5+5; document.write(x); //x=10 x="Hello "+"World"; document.write(x); //x="Hello World" x=5+" dollars"; document.write(x); //x="5 dollars" 3、页面绘制先后顺序 <script> document.write("<h1>This is a heading</h1>"); document.write("<p>This is a

iMacros 入门教程-基础函数介绍(4)

笑着哭i 提交于 2020-01-21 01:34:34
imacros的TRAY函数用法 这个函数的功能就是隐藏或显示,当执行imacros文件的时候,出现在特定标签的imacros图标 TRAY HIDE 就是隐藏图标 TRAY SHOW 就是显示图标 imacros 的 URL 函数用法 这个函数的功能就是跳转去对应的网址 语法 URL GOTO=some_URL 这个some_URL可以是具体的网址,也可以是JavaScript代码,例如 URL GOTO= javascript:window.scrollBy(0,20000) 移动网页向下滚动多少像素 还有例如 URL GOTO= file:///D:/test/image.png 打开本地的某个图片 imacros 的 TAB 函数用法 这个函数就是切换去不同的标签页 语法 TAB (T=n|OPEN|CLOSE|CLOSEALLOTHERS) 详解 T代表的是第几个标签页,如果是1,就是第一个标签页 CLOSE 关闭当前标签页 OPEN 后台打开一个标签页 CLOSEALLOTHERS 关闭所有标签页,除了当前的这个 imacros 的 SAVEAS 函数用法 这个函数的功能是将当前网页保存成指定的格式的文件,同时文件名可以按照规则来命名。 语法 SAVEAS TYPE=(CPL|MHT|HTM|TXT|EXTRACT|BMP|PNG|JPEG) FOLDER=folder

jquery-购物车js

狂风中的少年 提交于 2020-01-20 23:24:55
购物车示例js,为了方便参考,页面写的比较简单。示例如下图所示: html代码如下: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <style> .product{ width: 450px; } .product-price{ float: right; } .total{ float: right; } input[type='text']{ width: 50px; } </style> <title>购物车结算</title> </head> <body> <div> <!--第一个店铺--> <div>店铺1</div> <div class="store"> <!--第一个商品--> <div class="product"><span>商品A</span> <input class="product-check" type=

Vue学习笔记之事件处理

不问归期 提交于 2020-01-20 18:28:47
事件处理: 可以用 v-on 指令 监 听 DOM 事件,并在触 发时 运行一些 JavaScript 代 码 。 1 < div id = "example-1" > < button v-on:click = "counter += 1" > Add 1 </ button > < p > The button above has been clicked {{ counter }} times. </ p > </ div > 2 < div id = "example-2" > <!-- `greet` 是在下面定 义 的方法名 --> < button v-on:click = "greet" > Greet </ button > </ div > var example2 = new Vue({ el : '#example-2' , data : { name : 'Vue.js' }, // 在 `methods` 对象中定义方 法 methods: { greet : function ( event ) { // `this` 在方法里指向当前 Vue 实 例 alert( 'Hello ' + this .name + '!' ) // `event` 是原生 DOM 事件 if (event) { alert(event.target.tagName) }