我已经用WPF开发了好几个月了.这是一个很棒的框架,我可以做一些花哨的,优雅的东西,这对WinForms来说要困难得多.
但是,我确实感觉对于没有任何特殊UI要求的正常"业务线"类型的应用程序,在XAML中编写UI所需的时间比在WinForms中拖放它所花费的时间还要长.
例如,在WinForms中,我只是在表单上删除一个额外的标签和一个额外的文本框,并安排所有内容(使用帮助行),直到它看起来不错.在WPF中,我首先将现有标签和文本框的属性分解为样式,因此我可以重用它们; 想想最合适的布局元素,可能会将一些dockpanels/stackpanels重构成一个网格(反之亦然); 尝试不同的边距值等.尽管我在WPF方面有很多经验,但仍需要很长时间.
我知道我可以忘记"干净的XAML"并在Visual Studio 2008中使用GUI设计器(它绝对将所有内容放在一个巨大的网格中),但我担心我会失去XAML提供的很多优势那.
你有过类似的经历吗?如果是,您是如何加速日常WPF开发的?
我如何加快日常WPF开发:
尽可能地忽略外观和感觉.理想情况下,调整对齐和边距以及定义样式是我做的最后一件事.
在使用StackPanel之前使用GridPanel和Grid之前使用DockPanel.
使用网格时,星号大小.我稍后会回过头来解决这个问题,但在原型设计过程中,明确了解Grid实际拥有的行数和列数是非常有帮助的.
Kaxaml中的原型,在Expression Blend中完成,在Visual Studio中进行测试.找出一种方法需要花费很多时间,而且它仍然是一项正在进行中的工作.但是Kaxaml非常适合快速查看XAML原型的行为,而Blend非常适合处理视觉效果并将内容封装到用户控件和样式中.
使用"混合"时,请勿在画板中创建布局,而是在对象轮廓中创建布局.当我第一次开发WPF UI时,对象的层次结构比它在屏幕上看起来的重要性高出一百倍.我还在学习如何做到这一点,似乎有可能一旦我对它变得足够好,我将不再需要在Kaxaml中进行原型设计.
尽可能做最小的事情.这需要很多纪律.我有一个很好的大复杂XAML文件,我决定我需要编辑控件的模板首先要做的是创建一个带有该控件的微小XAML文件,并在那里编辑控件模板.像这样在原地工作的诱惑很强烈,因为只需右键单击即可编辑控件模板.不要这样做.
甚至不考虑我是否应该为我的小型一次性应用程序开发视图模型.是的,我应该.
学习混合.真的,真的学习它.了解所选对象周围的所有小图标是什么意思,并注意它们.(这是一个捷径:我没有在那个东西上设置边距,但是Blend做了.这可能是我的"混合现在到底做了什么?"问题的30%的答案.)即使我知道它也使用Blend UI 手动编辑XAML会更快.这又是一个纪律问题,抵制现在完成它的诱惑,这样我就可以提高我以后完成更多工作的能力.
| 归档时间: |
|
| 查看次数: |
1839 次 |
| 最近记录: |