原文:【全面解禁!真正的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)

尽量重用样式

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

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

  1. 【全面解禁!真正的Expression Blend实战开发技巧】第十章 FluidMoveBehavior完全解析之三飞出ListBox吧

    原文:[全面解禁!真正的Expression Blend实战开发技巧]第十章 FluidMoveBehavior完全解析之三飞出ListBox吧 刚才有人说我的标题很给力,哈哈.那这个标题肯定更给力了 ...

  2. 【全面解禁!真正的Expression Blend实战开发技巧】十一章 全面解析布局(Grid & Canvas &StackPanel &Wrappanel)

    原文:[全面解禁!真正的Expression Blend实战开发技巧]十一章 全面解析布局(Grid & Canvas &StackPanel &Wrappanel) 写这篇文 ...

  3. 【全面解禁!真正的Expression Blend实战开发技巧】第九章 FluidMoveBehavior完全解析之二平滑运动的滚动条

    原文:[全面解禁!真正的Expression Blend实战开发技巧]第九章 FluidMoveBehavior完全解析之二平滑运动的滚动条 这一章讲解FluidMoveBehavior的另一个应用, ...

  4. 【全面解禁!真正的Expression Blend实战开发技巧】第七章 MVVM初体验-在DataGrid行末添加按钮

    原文:[全面解禁!真正的Expression Blend实战开发技巧]第七章 MVVM初体验-在DataGrid行末添加按钮 博客更新较慢,先向各位读者说声抱歉.这一节讲解的依然是开发中经常遇到的一种 ...

  5. 【全面解禁!真正的Expression Blend实战开发技巧】第八章 FluidMoveBehavior完全解析之一漂浮移动

    原文:[全面解禁!真正的Expression Blend实战开发技巧]第八章 FluidMoveBehavior完全解析之一漂浮移动 好久没更新博客了,今天如果没急事,准备连发三篇,完全讲解Blend ...

  6. 【全面解禁!真正的Expression Blend实战开发技巧】第四章 从最常用ButtonStyle开始 - PathButton

    原文:[全面解禁!真正的Expression Blend实战开发技巧]第四章 从最常用ButtonStyle开始 - PathButton 上一篇我们介绍了TextButton,但为了追求界面的张力, ...

  7. 【全面解禁!真正的Expression Blend实战开发技巧】第五章 从最常用ButtonStyle开始 - ImageButton

    原文:[全面解禁!真正的Expression Blend实战开发技巧]第五章 从最常用ButtonStyle开始 - ImageButton 本章围绕ImageButton深入讨论,为什么是Image ...

  8. 【全面解禁!真正的Expression Blend实战开发技巧】第二章 你好,UI设计师

    原文:[全面解禁!真正的Expression Blend实战开发技巧]第二章 你好,UI设计师 你好,UI设计师 曾几何时我从没想过要与艺术家打交道,但是Silverlight改变了这一切.UI设计师 ...

  9. 【全面解禁!真正的Expression Blend实战开发技巧】第三章 从最常用ButtonStyle开始 - TextButton

    原文:[全面解禁!真正的Expression Blend实战开发技巧]第三章 从最常用ButtonStyle开始 - TextButton 在实际项目中,使用blend做的最多的一定是各种自定义But ...

随机推荐

  1. 原生js如何实现图片翻转旋转效果?

    原生js如何实现图片翻转旋转效果? 一.总结 1.通过给元素设置style中的transition来实现的. 2.我昨天纠结的效果全部可以通过精读这个代码后实现. 二.原生js如何实现图片翻转旋转效果 ...

  2. mui常用功能链接地址

    1.下拉刷新mui.pullToRefresh插件http://ask.dcloud.net.cn/article/12152.打包app权限列表http://ask.dcloud.net.cn/ar ...

  3. [React] Use Jest's Snapshot Testing Feature

    Often when testing, you use the actual result to create your assertion and have to manually update i ...

  4. [Node.js] Identify memory leaks with nodejs-dashboard

    In this lesson, I introduce a memory leak into our node.js application and show you how to identify ...

  5. android应用开发 button显示两行文本

    自己写了个电话拨号器的程序给男朋友玩,用来专门打我的手机号,为了把界面做的好看一点,须要用到显示两行文本的button.在网上搜罗了两种方法,记录在以下.跟大家一起分享一下,希望能帮到须要的人. 方法 ...

  6. 【codeforces 765A】Neverending competitions

    [题目链接]:http://codeforces.com/contest/765/problem/A [题意] 给你一个人的n个行程 行程都是从家到某个地方或从某个地方到家; 且是无序的,且如果到了非 ...

  7. sqlserver中的存储过程 函数 事物 索引及视图

                                           存储过程和函数具体的区别: 核心提示:本质上没区别.只是函数有限制只能返回一个标量,而存储过程可以返回多个.并且函数是可以 ...

  8. eCognition学习记录

    作者:朱金灿 来源:http://blog.csdn.net/clever101 昨天公司从外面请了人讲解eCognition的最新进展及项目二次开发应用情况.我做了大致下面记录: 1.  eCogn ...

  9. xshell/putty 连接 linux 虚拟机 connection failed 的解决方案

    ubuntu 默认并没有安装 ssh 服务,如果通过 ssh(XShell/putty) 连接 ubuntu 虚拟机,则需要手动安装 ssh-server(ssh 分客户端和 openssh-clie ...

  10. WPF--动态添加控件、访问控件

    //WPF窗口采用默认的Grid布局控件,其“Name”值为“grid1”,在“grid1”中添加三个Button按钮.动态添加控件并访问这些控件的代码如下: private void button1 ...