博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF/E CTP Quick Start - 第十一部分:示例控件(翻译)
阅读量:6378 次
发布时间:2019-06-23

本文共 3005 字,大约阅读时间需要 10 分钟。

 下面的示例使用一个
TextBlock和一个
Line创建了一个超级链接。
function hyperlink_MouseLeftButtonDown(sender, args) {
window.location = "about-frames.html"; } function hyperlink_MouseEnter(sender,args) {
sender.findName("hyperlink_line").opacity = 1; } function hyperlink_MouseLeave(sender,args) {
sender.findName("hyperlink_line").opacity = 0; }
 
“按钮”示例
  下面的示例使用两个
Rectangle元素和一个
TextBlock创建了一个按钮。
var mouseOver = false; var pressed = false; function button_MouseLeftButtonDown(sender,args) {
sender.captureMouse(); mouseOver = true; pressed = true; updateVisuals(sender); } function button_MouseLeftButtonUp(sender,args) {
sender.releaseMouseCapture(); pressed = false; updateVisuals(sender); if (mouseOver) {
alert("you pressed the button!"); } } function button_MouseEnter(sender,args) {
mouseOver = true; updateVisuals(sender); } function button_MouseLeave(sender,args) {
mouseOver = false; updateVisuals(sender); } function updateVisuals(sender) {
//background if (pressed && mouseOver) {
sender.findName("button_rectangle").fill = "sc#1, 0.548430264, 0.5354195, 0.5354195"; var transform = sender.findName("button_transform"); transform.x = 2; transform.y = 2; } else {
sender.findName("button_rectangle").fill = "sc#1, 0.8123474, 0.8123474, 0.8123474"; var transform = sender.findName("button_transform"); transform.x = 0; transform.y = 0; } // highlight if (mouseOver || pressed) {
sender.findName("button_highlight").opacity = 1; } else {
sender.findName("button_highlight").opacity = 0; } }
 
“滚动条”示例
  下面的示例使用了一个
Line
Path创建了一个滚动条。
var mouseDownPosition = 0; var mouseDownValue = -1; function slider_Loaded(sender, args) {
slider_SetValue(slider, 0); } function slider_MouseLeftButtonDown(sender, args) {
var coordinate = args.x; coordinate -= sender["Canvas.Left"]; slider_SetValue(sender, coordinate); } function slider_thumb_MouseLeftButtonDown(sender, args) {
var slider = sender.findName("slider"); sender.captureMouse(); mouseDownValue = slider_GetValue(slider); mouseDownPosition = args.x; } function slider_thumb_MouseLeftButtonUp(sender, args) {
var slider = sender.findName("slider"); sender.releaseMouseCapture(); mouseDownValue = -1; } function slider_thumb_MouseMove(sender, args) {
var slider = sender.findName("slider"); if (mouseDownValue != -1) {
var newValue = mouseDownValue + (args.x - mouseDownPosition); slider_SetValue(slider, newValue); } } function slider_GetValue(sender) {
var thumb = sender.findName("slider_thumb"); return thumb["Canvas.Left"] + .5 * thumb.width; } function slider_SetValue(sender, newValue) {
if (newValue > sender.width) {
newValue = sender.width; } if (newValue < 0) {
newValue = 0; } var thumb = sender.findName("slider_thumb"); thumb["Canvas.Left"] = newValue - .5 * thumb.width; }
 
本文转自 jeffz 51CTO博客,原文链接:http://blog.51cto.com/jeffz/60376,如需转载请自行联系原作者
你可能感兴趣的文章
Recurrent Neural Network[CTC]
查看>>
VS注释与取消注释快捷键
查看>>
深入解析Vuex实战总结
查看>>
.NET编译项目时出现《此实现不是 Windows 平台 FIPS 验证的加密算法的一部分》处理方法...
查看>>
流水落花春去也
查看>>
从.NET中委托写法的演变谈开去(下):性能相关
查看>>
C# 多人聊天程序
查看>>
【教训】为什么不作备份?!
查看>>
网搜索引擎架构设计
查看>>
iOS笔记:内存管理
查看>>
python开发_python中str.format()
查看>>
HTML5, CSS3, ES5新的web标准和浏览器支持一览 转
查看>>
ThinkPHP3.0启动过程
查看>>
【leetcode】Longest Common Prefix (easy)
查看>>
JAX-WS(JWS)发布WebService
查看>>
Centos7安装docker-compse踩过的坑
查看>>
细说Nullable<T>类型
查看>>
oracle 插入表数据的4种方式
查看>>
7.Ajax
查看>>
Linux vi/vim编辑器常用命令与用法总结
查看>>