c#用户界面
本文关键字:用户界面 | 更新日期: 2023-09-27 18:15:59
我已经用java编程好几年了。不久前,我决定是时候做出改变,学习c#了。
既然visual studio和c#对我来说都是新的,我决定既然我必须学习它,我可能会学习最新的工具。
然而,我无法找到什么GUI自由使用。我的第一个搜索表明WPF是用于创建microsoft UI的最新"库",许多其他线程都表明情况可能并非如此。
所以我问你们c#最新的UI"库"是什么,你们会建议我使用什么?
正如Giedrius指出的那样,无论是Windows Forms还是WPF。
就我个人而言,我会先从Forms开始学习几个星期,了解一下环境,然后再转向WPF和XAML的可爱世界。
如果您的目标用户拥有良好的机器,那么WPF是正确的技术。它利用图形卡的力量,并支持矢量图形。使用XAML系统,您将获得良好的开发速度以及更多
如果您正在寻找任何第三方控制,您可以评估基础设施或teleerik。但这取决于你的UI需求
就最新技术而言,WPF当然是我推荐你学习的,但WPF和WinForms之间有相当程度的互操作性,也就是说,你可以在WPF中托管WinForm控件,(我认为)反之亦然。
需要注意的一点是,WPF与winforms是完全不同的——你仍然可以做通常的拖放操作,但是对于一些花哨的东西,你需要改变XAML,这可能需要一些时间来理解。
编辑-花时间学习WPF是值得的,因为一旦你掌握了WPF,你就可以轻松地生成丰富的界面。
对于Windows 8之前的任何东西,那么最新的是WPF。在Windows 8中,你有Metro(我知道名字变了),但你仍然可以使用你新获得的XAML技能(从WPF中获得),或者开始学习HTML 5和CSS 3,这也将使你在基于web的应用程序中处于有利地位。
Win Forms比WPF更老,但仍然很受欢迎/建立,并且可以在某些地方使用。像大多数事情一样,选择合适的工具来完成任务。
有两种主要的GUI风格(不包括web): WPF和Windows Forms。WPF是最近才出现的,如果你没有使用Windows窗体的经验,建议你使用WPF作为GUI的替代品。
现在WPF可能有几个"口味"——它在桌面应用程序、silverlight应用程序和windows store应用程序中的能力有所不同,桌面应用程序拥有大部分功能,其他两个有限,主要是因为性能和安全原因(例如,你不能在windows store应用程序中渲染UI到图像,但在桌面应用程序中你可以)。
WPF有更好的硬件加速支持,更好的绑定和异步/线程支持,更灵活,许多元素看起来可以很容易地改变——这在Windows窗体中是不容易做到的,比如组合框——你可以很容易地在Windows窗体中改变颜色,但如果你需要圆角边缘,那就很难了。
此外,WPF可以很容易地在MVVM模式下使用,这在Windows窗体中是一个相当大的挑战。
另一方面,Windows窗体更容易学习+加上它有非常好的第三方组件-像Telerik, Devexpress。这两家厂商也都有WPF的组件,但它们都不如Windows Forms的组件好,主要是因为它们是使用Windows Forms知识设计的,而这些知识并不适合WPF。
我建议你学习html, css和js。据我所知,您可以使用这些语言构建Microsoft Windows 8 .net应用程序。查看这里,如果你决定制作web应用程序,所有这些语言都使用also,这将是有用的。
如果你不想限制自己使用Windows 8,那就试试WPF吧。WPF上的应用程序将能够在任何使用。net框架版本的机器上运行。
GL
正如其他人指出的那样,WPF是正确的选择。
没有提到的一件事是,(因为您有java经验)您可以将WPF与其他技术(如winforms)进行比较,就像您可以将JavaFX与以前的java UI技术(如Swing)进行比较一样。
实际上,JavaFX看起来就像一个很差的WPF副本。用于定义UI的语言是基于xml的(就像XAML一样),它对数据绑定的支持(差得多),以及许多其他相似之处。