ser*_*0ne 112 c# windows wpf windows-forms-designer winforms
很长一段时间以来,我一直坚持使用Windows Forms开发(从VB6开始,一直到C#.NET 4.5),而且我已经达到了Windows Forms可以做的极限,两者都使用纯.NET和本机代码的特殊效果.
我知道WPF是未来(目前),Windows Forms正在放慢成为一种被弃用的技术.
我曾经尝试过学习WPF和XAML,但是我遇到了WPF的新设计师......与Windows Forms设计师相比,它似乎很难使用...当然......这只是一个学习曲线,在某些时候,我打算继续学习WPF.
与此同时,我想知道.NET的WPF设计器是否有更适合Windows Forms开发人员的替代方案?
Rac*_*hel 174
我喜欢博客关于WPF的初学者文章,有一些特别可以帮助你:
总而言之,Winforms和WPF之间的最大区别在于,在WPF中,您的数据层(DataContext)是您的应用程序,而在Winforms中,您的UI层是您的应用程序.
换一种方式来看,使用WPF,您的应用程序由您创建的对象组成,并使用模板和其他UI对象告诉WPF如何绘制应用程序组件.

这与WinForms相反,您可以使用UI对象构建应用程序,然后为其提供所需的数据.

因此,设计人员实际上并没有那么多使用,因为您的应用程序组件是在代码中设计的,而设计人员只需要绘制一个反映您的数据类的用户友好界面(通常Models和ViewModels)
而且就个人而言,我更喜欢手动输入我的所有XAML,因为它更快,并且不会像拖放WPF设计器那样混乱,尽管我偶尔使用Designer来预览我的UI看起来喜欢.
所以,为了回答你的问题,如果有其他WPF设计师适合WinForms开发人员,我建议不要寻找另一个设计师,而是要学习如何使用WPF.使用WPF就像它的WinForms意味着你错过了很多让它如此出色的东西:)
虽然有些人不同意,但我也建议不要使用VS设计师.至少不要创建一个接口.如果你可能希望得到您的实现的第一印象,而无需启动应用程序,这是一个很好的观众至少长达一样,没有复杂的事物Styles和Templates使用.但是,恕我直言,它的拖放结果应该仅用作原型,因此在不再需要之后被丢弃.
以下是一些对我不使用它很重要的原因.
VS设计师正在使用修复边距和对齐(如果您使用布局控件,通常不需要),这意味着如果需求发生变化,您必须触摸许多控件.如果您深入了解XAML和WPF技术,那么您可以创建一个可以轻松修改应用程序的应用程序.
由于设计者正在生成xaml,因此组合不是最佳的,并且UI可能表现不佳.我没有测量它,这只是一种感觉.
一个更好的选择是MS Blend,虽然开始是其他一切但很容易.它的拖放效果比VS设计师的结果要好得多.
但它是一个非常强大的工具,它可以帮助您使用非常强大的元素来创建最先进的UI.我建议至少参观一个简短的研讨会,以了解其机会.
回到你的问题,恕我直言,我认为很多人都同意,给自己一本好书,例如WPF Unleashed,如果你想了解更多关于细节的话,WPF Pro.有很多不同的功能Winforms.你不会通过使用任何设计师来了解它们.我认为这是最好的方法.
还请考虑有很多框架和库(例如MVVM light,WPFToolkit),它们已经解决了一些常见问题.因此没有必要重新发明轮子.
我知道这是一个古老的问题,但为了其他任何人的利益,我想我应该稍微纠正一下 - 阅读其他一些答案,我觉得有些'不使用设计师'情绪来自于没有正确使用它. 本教程非常适合您,并回答其他帖子中的一些批评.
例如,通过右键单击并选择"重置布局",您可以从放置控件时默认的基于边缘的基于边距的布局切换到更多WPF-ish样式
该视频涵盖了类似的内容.
我仍然更喜欢VS2010设计师的平衡 - 当拖放到TabItems**(我当前的项目使用很多)时,VS2013似乎有点儿麻烦 - 但是VS2013文档大纲视图也允许你在该视图中移动东西,这可能是一个真正的加分.
但实际上,为了充分利用WPF和xaml,您需要在设计器视图和xaml视图中合理流畅地进行切换,并在它们之间进行切换.如果你回避设计师,你会错过一些可以帮助你的东西.
**编辑 - 虽然在VS 2013的Update 3和VS14的预览中似乎已经改进了,但到目前为止我仍然会有奇怪的行为.
首先,在Visual Studio deisgner中的WPF(XAML)中,您应该始终使用xaml代码来构建UI,而不是拖放您的控件!您需要保持代码清洁.您可以使用Expression Blend来帮助您,它通过拖放更加面向图形,但它不是免费的.
这不是一个很大的学习曲线,但我认为你应该学习如何手工制作你的xaml而不是寻找替代品.
我和你一样经历过这个过程.之后我在公司WPF教过每个人.我学到了几个重要的经验,我认识的每个人都使用WPF.
它使UI开发变得有趣.特别是一旦你发现它喜欢与Asyc过程一起玩的话.它确实消除了Winforms引起的许多麻烦.
| 归档时间: |
|
| 查看次数: |
69138 次 |
| 最近记录: |