【全面解禁!真正的Expression Blend实战开发技巧】第一章 真正的开发中的最佳的做法
原文:【全面解禁!真正的Expression Blend实战开发技巧】第一章 真正的开发中的最佳的做法

从设计者到开发者
  设计师创建一个应用程序的布局然后让开发者去实现。

从开发者到设计者

  开发者创建应用程序的函数功能部分,设计者完成样式部分。

使用规范的命名

  规范的命名可以增加代码的可读性,可以根据创建该控件的目的来取名字。例如:tbCustomerId   一个用来显示客户ID的textblock;cnvToolbox     一个包裹button的canvas。

使用合适的控件类型

  根据界面的需要,选择合适的控件。例如一排自定义样式的radiobutton与Gird组合,往往比tabcontrol更易用,效果更酷,你可以很容易的定义转场效果,动画。

将控件编组(group 或 canvas),并为编组命名

  不要对静态的子元件命名,例如:一个用来做底纹的Path,一张背景图片,为他们取名字没有任何意义。将相关的对象分成一组,并给这个组一个名称。

样式的设计和重用

  元素的风格应保持一致;在多个应用程序之间应使用资源字典重用样式;定义一些核心颜色和笔刷,应将其转换为本地资源,这样我们在样式里面使用它们时,只许修改一处,就可以改变所有该资源的引用。

匿名样式的使用好处

  匿名样式可以缺省应用到所有未显示的设置样式的,同类型控件中。

  例如:

<Style TargetType=”Button”>

<Setter Property=”Background” Value = “red”/>

</Style>

  没有指定key属性的样式称为匿名样式,如果此时有一个button没有指定style,他将默认应用匿名样式,Background成红色。

谨慎选择使用位图还是失量图形(Path)

  位图特点:下载量大,不能很好的缩放,占用的资源小,通过代码修改的难度大,可以使用任何位图工具处理,做动画前需要预先渲染。

  矢量图形特点:下载量小,可以根据屏幕的大小改变尺寸,占用的资源高,通过代码修改很容易,仅限于在xaml 中使用,可以使用storyboard改变矢量图形形状.

多使用行为(Behaviors)

尽量重用样式

  有可能的话,尽量使用隐式样式,他会节省你大量的重复代码。

posted on 2018-05-14 10:11 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/9034748.html

【全面解禁!真正的Expression Blend实战开发技巧】第一章 真正的开发中的最佳的做法...相关推荐

  1. Unix/Linux下的Curses库开发指南——第一章 Curses库开发简介

    1.1什么是curses curses实际上是一个函数开发包,专门用来进行UNIX下终端环境下的屏幕界面处理以及I/O处理.通过这些函数库,C和C++程序就可以控制终端的视频显示以及输入输出.使用cu ...

  2. Expression Blend实战开发技巧 第四章 从最常用ButtonStyle开始 - PathButton

    本文来自 烤地瓜 的博客,原文地址:http://www.cnblogs.com/kaodigua/archive/2011/02/15/1955472.html [全面解禁!真正的Expressio ...

  3. 李艺《微信小程序全栈开发实战》(第一章)

    李艺<微信小程序全栈开发实战>(第一章) 双线程运行机制 小程序的特点及开发能力 小程序的特点 小程序的开发能力 开发小程序的一般流程 小程序的运行机制 小程序双线程 视图的持续更新是如何 ...

  4. 《RabbitMQ 实战指南》第一章 RabbitMQ 简介

    <RabbitMQ 实战指南>第一章 RabbitMQ 简介 文章目录 <RabbitMQ 实战指南>第一章 RabbitMQ 简介 一.什么是消息中间件 二.消息中间件的作用 ...

  5. 第一章 Joomla!扩展开发:概况

    第一章 Joomla!扩展开发:概况 你以前开发过动态网站但你的朋友告诉你有关Joomla!的事,所以你决定试一试.从食物网上那些出名的厨师中得到灵感后,你想建立一个简单的关于餐厅的网站.这个网站的安 ...

  6. 彼林机器人_第一章 Buddy Robot开发软件介绍.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspJava 第一章 Buddy Robot开发软件介绍.doc62 ...

  7. 路飞学城python电子书_路飞学城-Python开发集训-第一章

    路飞学城-Python开发集训-第一章 1.本章学习心得.体会 我: 间接性勤奋. 我: 学习方法论:输入--输出---纠正 我: 对对对 走出舒适区, 换圈子, 转思路,投资自我加筹码. 我: 圈子 ...

  8. 2022 最新 Android 基础教程,从开发入门到项目实战【b站动脑学院】学习笔记——第一章:Android开发环境搭建

    第 1 章 Android开发环境搭建 本章介绍了如何在个人电脑上搭建Android开发环境,主要包括:Android开发的发展历史是怎样的.Android Studio的开发环境是如何搭建的.如何创 ...

  9. Camel实战第二版 第一章 初识Camel

    目录 第一部分:迈出第一步 第一章:初识Camel 第二章:Camel路由 本章包含: Camel介绍 Camel的主要功能 初次使用Camel Camel的架构与概念 从零开始构建一个复杂的系统代价 ...

  10. 第一章 51单片机开发入门知识介绍

    第一章 单片机开发入门知识介绍 1.1 51单片机介绍 51单片机是对所有兼容Intel 8031指令系统的单片机的统称. 该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技 ...

最新文章

  1. 90后大龄女考研二战失败 该何去何从
  2. 《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一导读
  3. ubuntu如何更改用户名和密码
  4. Nand分区及nand erase简解
  5. linux TCP数据包封装在SKB的过程分析
  6. MySQL故障检测_检测MySQL的表的故障的方法
  7. android ndk 文件管理,Android NDK开发指南(二)Android.mk文件
  8. 设计模式之禅之设计模式-组合模式
  9. rnn 简要_注重文化的简要招聘指南
  10. 车架号查车辆型号_【菜鸟二手车大讲堂】第十一讲 经常提到的汽车车架号是什么?...
  11. 字节跳动异构场景下的高可用建设实践
  12. Android App 启动时立即崩溃无法debug的解决方法
  13. 对抗学习在语义分割上应用
  14. hnu 数字电路 实验1.1 异或门
  15. c#和java部署pytorch同事识别两个图片_Pytorch转NCNN的流程记录
  16. 《期权、期货及其他衍生产品》读书笔记(第五章:确定远期和期货价格)
  17. 谈古论津丨河北区金钢公园
  18. 图像预处理 mean=[0.485, 0.456, 0.406] std=[0.229, 0.224, 0.225] 的由来以及使用
  19. 6-4 派生类使用基类的成员函数
  20. 到底什么是MCU、MPU、CPU,和芯片是什么关系?区别又是什么?

热门文章

  1. OpenCV和OpenGL的异同
  2. 交换机端口配置与管理
  3. IS-IS快速收敛调优配置实例
  4. 错误解决 “No module named ‘pytest‘“
  5. NYOJ --25--A Famous Music Composer
  6. mongoDB - 插入数据
  7. 给我一个软件,我将操控一个机器人军团!
  8. 如何调用VS自带的数据源选择对话框
  9. 深入理解Git (三) - 微命令上篇
  10. Android 用户可以直接在搜索页面上安装 app 了