想要用WPF做出一流的软件界面, 必须要Designer和码农通力合作。理想的情况是平时并行开发,Designer用Expression套件(包括Design和Blend)来设计界面,码农开发Model和ViewModel,后续和xaml一起集成。

但是,理想很丰满,现实很骨感。Blend软件毕竟还是小众软件, 很多Designer不愿意放弃自己熟悉的PS,并且Blend支持的滤镜太少,Designer也不想去学习xaml语言,种种原因导致Designer只会提供ps图片。缺少了Designer强有力的支持,导致了WPF的大量优势发挥不出来,也导致开发人员很长时间花费在UI的布局上面。
怎么办?Designer不给力, 只能码农受点累。项目中必须要有这样一个码农,我们暂且称为A,他熟练技术,熟练blend,熟悉photoshop,唯一欠缺的可能是艺术家的高端品味和大量滤镜的使用技巧。
A的工作主要有3个:
  • 1.需要用Blend并且利用PS图建立各种控件的Style,这些控件尽量做的通用,而不能各种固定参数。
  • 2. A需要对Designer进行Blend技术的培训, 让Designer在不需要复杂滤镜的情况尽量使用Blend及Path元素来直接设计UI。A需要对Designer设计的xaml进行review和优化, 比如格式,控件命名,不必要的布局容器,不合理的布局等等, 争取交付出一个性能ok,可维护性好的xaml文件。
  • 3.A负责整个项目中界面的整体布局,在Designer没有可供交付的效果图以前,用系统控件搭建整体布局,当后期style效果图做出来后,负责替换。
项目中其他成员只使用从A交付出来的xaml文件,进行后续程序集成, 所有界面出现的问题由A统一整理并进行处理。

WPF开发中Designer和码农之间的合作的更多相关文章

  1. 图片按日期分类和查看程序(WPF开发)(附源码)

    手机方便了我们的生活,可以随时随地拍摄.越来越多的图片堆砌在电脑里.看到杂乱无章的图片,实在感到头痛.手动整理太复杂.基于此,我写了一个小程序,可以将图片按日期整理和查看.按日期查看图片,回忆过去的点 ...

  2. 第三方web ide开发环境下vuejs开发HMR环境搭建-码农这样开发是快乐的!

    vuejs是一个非常优秀的前端框架,利用该框架可以快速开发出任何web app,之所以vuejs开发非常高效快捷,其中最重要的一点就是利用webpakc提供的HMR(热模块替换)特性,可以边写vue组 ...

  3. WPF开发中的多线程的问题

    今天帮助同事做了一个WPF版的多线程demo,分享给大家. 要实现的问题就是非主线程thread1 去后台不停的取新数据,当有新数据的时候就会展示到前台. 我给他做的demo实现一个按秒的计数器,随着 ...

  4. <开心一笑> 码农 黑客和2B程序员之间的区别

    笔记本电脑 码农: 黑客: 2B程序员: 求2的32次方: 码农: System.out.println(Math.pow(2, 32)); 黑客: System.out.println(1L< ...

  5. Angular 项目开发中父子组件传参

    在项目开发中经常会遇到 组件之间传参的问题.今天总结下在使用angular的项目中父子组件传参的问题: 1.父组件向子组件传参: 然后在父组件中 然后在父组件的html中 然后就可以在子组件中使用了 ...

  6. 码农、黑客和2B程序员之间的区别

    码农: 黑客: 2B程序员: 求2的32次方: 码农: System.out.println(Math.pow(2, 32)); 黑客: System.out.println(1L<<32 ...

  7. Android源码浅析(四)——我在Android开发中常用到的adb命令,Linux命令,源码编译命令

    Android源码浅析(四)--我在Android开发中常用到的adb命令,Linux命令,源码编译命令 我自己平时开发的时候积累的一些命令,希望对你有所帮助 adb是什么?: adb的全称为Andr ...

  8. 解决VS2019中.net core WPF 暂时无法使用 Designer 的临时方法

    目录 解决 VS2019 中.net core WPF 暂时无法使用 Designer 的临时方法 安装 vs 2019 professional/enterprise版本 在vs的设置里,勾选.NE ...

  9. 野路子码农系列(2)Python中的类,可能是最通俗的解说

    啥叫佩奇?啥叫类?啥叫面向对象?后面两个问题以前在大学里“祖传谭浩强”的时候我经常会有所疑问.老师说着一堆什么public, private,我都是一脸懵逼,啥叫私有?为啥要私有?然后就神游天外了…… ...

随机推荐

  1. IPU VPU GPU的关系

    转:https://blog.csdn.net/dragon101788/article/details/78404669 Video graphics system[IPU, VPU and GPU ...

  2. 在unity 中,使用http请求,下载文件到可读可写路径

    在这里我用了一个线程池,线程池参数接收一个带有object参数的,无返回值的委托 ,下载用到的核心代码,网上拷贝的,他的核心就是发起一个web请求,然后得到请求的响应,读取响应的流 剩下的都是常见的I ...

  3. Python的return self和return一个新的对象区别

    目的:设计一个有理数相加.如3/5 + 7/15 = 80/75 return self 输入: class Rational0: def __init__(self, num, den=1): se ...

  4. 《Inode与Block重要知识总结核心讲解》【转】

    本文转载自:https://blog.csdn.net/BlackEnn/article/details/50787092 1.查看/dev/sda1下磁盘分区的block大小: 2.查看单个inod ...

  5. kubernetes 核心对象

    Pods Pod是Kubernetes的基本操作单元,也是应用运行的载体.整个Kubernetes系统都是围绕着Pod展开的,比如如何部署运行Pod.如何保证Pod的数量.如何访问Pod等.另外,Po ...

  6. ZSTU 4241 圣杯战争(线段树+经典)

    题意:CS召唤了n个实验怪兽,第i号怪兽在i这个位置出.并把KI召唤出的第i位从者安排在pos(i)处,总共有m位从者. 第i只怪兽有战斗力atk(i), 而i号从者的体力为AP(i).如果从者想要移 ...

  7. hdu 5876 Sparse Graph 无权图bfs求最短路

    Sparse Graph Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) P ...

  8. 总结django知识点

    一.视图函数:     请求对象-----------request:           1.HttpRequest.body:         请求原数据           2.HttpRequ ...

  9. STL视频_00

    [05:40]比赛规则 - Part01[06:33]比赛规则 - Part02[07:28]比赛规则 - Part03[08:45]提出的问题 - 1和2[09:23]提出的问题 - 3和4 *** ...

  10. Android在layout xml中使用include完成静态加载

    Android在layout xml中使用include完成静态加载 include静态加载:不仅可以加载布局,还可以加载控件(控件标签名要在最外层)include标签中有个layout属性就是专门用 ...