长期以来,我一直在进行Windows Forms开发(从VB6开始,一直持续到C# .NET 4.5),我已经基本达到了Windows Forms的极限,无论是使用纯.NET还是使用Native Code实现特效。
我尝试学习WPF和XAML,但是我在WPF的新设计者处卡住了。相比之下,它似乎非常难以使用,与Windows Forms设计者相比。
我想知道是否有任何替代.NET的WPF设计者,更适合Windows Forms开发人员使用?
长期以来,我一直在进行Windows Forms开发(从VB6开始,一直持续到C# .NET 4.5),我已经基本达到了Windows Forms的极限,无论是使用纯.NET还是使用Native Code实现特效。
我尝试学习WPF和XAML,但是我在WPF的新设计者处卡住了。相比之下,它似乎非常难以使用,与Windows Forms设计者相比。
我想知道是否有任何替代.NET的WPF设计者,更适合Windows Forms开发人员使用?
我喜欢写关于WPF初学者文章的博客,以下几篇文章可能会对您有所帮助:
总之,Winforms和WPF最大的区别在于,在WPF中您的数据层(DataContext
)才是您的应用程序,而在Winforms中,UI层才是您的应用程序。
换句话说,使用WPF时,您的应用程序由您创建的对象组成,您使用模板和其他UI对象告诉WPF如何绘制应用程序组件。
这与WinForms相反,您在WinForms中构建应用程序时,先添加 UI 对象,然后再为它们提供所需的数据。
因此,设计师并没有被广泛使用,因为应用程序组件是在代码中设计的,而设计师只需要绘制一个反映数据类(通常为Models
和ViewModels
)的用户友好界面。
个人而言,我更喜欢手动输入所有的XAML,因为这样更快,并且不会像拖放WPF设计器那样弄得一团糟,尽管偶尔我也会使用设计器预览UI外观。
所以针对您提出的关于是否有其他适合WinForms开发人员的WPF设计器的问题,我建议您不要寻找另一个设计器,而是学习如何使用WPF以其本质方式。像WinForms一样使用WPF意味着您会错过很多使它变得如此强大的东西 :)
INotifyPropertyChanged
。根据WinForms应用程序中模型层的复杂性,重写它们可能会更快。 - Rachel回到你的问题,我个人认为,也有很多人同意,先找一本好书,比如 WPF Unleashed,然后,如果想了解更多细节,再看 WPF Pro。有很多功能与 Winforms
不同,您无法通过任何设计器来了解它们。我认为这是最好的方法。
请注意,有许多框架和库(例如MVVM light,WPFToolkit)已经解决了一些常见问题。因此,没有必要重新发明轮子。
首先,在Visual Studio的WPF(XAML)设计器中,您应始终使用xaml代码构建UI,而不是拖放控件!您需要保持代码干净。您可以使用Expression Blend来帮助您,它更注重图形和拖放,但它是收费的。
这不是很难学习,但我认为您应该学会如何手写xaml,而不是寻找替代方案。