我正在寻找一些C#GUI设计的编程指南.我来自Java阵营(我可以愉快地手工编写Swing/AWT GUI),因此没有线索从哪里开始:(
另外,Windows Presentation Foundation和WinForms之间有什么区别(如果有的话)?
Windows Presentation Foundation是基于矢量的系统,是.NET 3.0的一部分.它允许您在XAML中定义UI,并且可以非常轻松地执行各种动画,3D等.它更新,仍然受到很多人的评估.
Windows窗体是旧Windows UI类(Win32/MFC或其他)的包装器.它带有.NET 1.0并使用C#来定义所有UI及其布局.这是经过验证的真实UI方法.
关于Windows Forms和WPF,Chris Sells似乎是'dah man':
http://www.sellsbrothers.com/writing/
http://www.sellsbrothers.com/writing/wfbook
http://www.sellsbrothers.com/writing/wpfbook
还可以看看Charles Petzold:
http://www.charlespetzold.com/winforms/index.html
从Windows的角度来看,MS还有一堆与设计指南和可用性相关的东西:
http://msdn.microsoft.com/en-us/library/aa152962.aspx
WPF是一种完全不同的新方式,可以用于UI架构和实现.设计人员和C#开发人员协作开发的酷概念是一个最大的优势(XAML标记实际上提供了这种能力).当您开发控件/ UI时,它将采用"无形"方式,而Designer/Integrator可以采用相同的项目(XAML)并为其设计样式以获得更好的外观.因此,总之,WPF或Silverlight是我们实现winforms开发方式的一种范式转变.
因此.NET3.5 UI设计可以通过两种方式完成.1)Winforms方式2)WPF-XAML方式.我认为对于一个未来主义和现代的UI,你肯定需要WPF而不是winforms.
实际上你可能会更熟悉手工编写WPF与你的背景,我也已经完成了我与Java的swing接口的共享,虽然winforms使得绘制界面非常容易,但我能够快速进入WPF,因为很多布局概念与Java相同.由于布局范式不同,一些仅限winforms的程序员真的很难进入WPF.