WPF 能做什么、不能做什么?

问题描述 投票:0回答:4

我已经学习wpf大约一周了.. 我有一个基本问题:

从业务角度和开发角度(根据您的经验),WPF 能做什么、不能做什么(功能)?

不需要的答案示例:
“功能齐全的独立应用程序,带有大量动画和闪闪发光的图像”

第二个问题: 如果我为我的应用程序构建 XBAP UI,我可以使 UI 在浏览器中“不显示”吗!

wpf
4个回答
3
投票

您可以在 WPF 应用程序中托管任何基于 Win32 GDI/USER API(WinForms、ActiveX 控件)构建的内容,因此,即使您遇到主要是 WPF 的应用程序的某些限制,您也始终可以在其中托管一些旧控件。

自 3.5 SP1 起,您甚至可以非常无缝地托管动画 DirectX 图形(尽管 WPF 的 3D 支持提供了自己更简单的方法来实现最常见的操作)。

相比之下,WPF 相对于 WinForms 的主要优势在于它与自己的基于组件的模型紧密结合,因此很大一部分控件能够充当其他控件的容器。想要在菜单项中放置组合框吗?不知道为什么你会这样做,但你可以。更有用的是,您可以在列表框(或树视图)中放置一个按钮。除非您从头开始实现每个标准控件(这就是 WPF 所做的),否则这些事情是不可能的。

缺点可能是暂时的:在某些机器上它可能有点不稳定(渲染代码似乎容易显示驱动程序不兼容),但随着每个服务包的出现,情况会变得更好。此外,文本渲染也受到了严厉批评 - ClearType 抗锯齿功能比 Windows 通常的效果更进一步,因此有些人抱怨它看起来很模糊。

(这些可能是暂时问题的原因是 Microsoft 的 Visual Studio 2010 正在采用 WPF。所以他们现在正在“自食其果”。)


2
投票

您几乎可以在 WPF 中执行 GUI 应用程序所需的任何操作。但这并不是真正的好处,恕我直言。

WPF 的真正好处之一是开发速度快且简单,一旦您克服了学习曲线(并且存在学习曲线!)

另一个主要好处,也可能是最大的好处,是它允许设计人员处理演示文稿,做很多交互式事情,所有这些都使用设计人员友好的(无论如何更友好)工具,而不必向编码人员提交请求。只需更改 .xaml,设计人员就可以使应用程序看起来几乎完全不同,并添加各种行为(面板消失、扩展、各种简洁的东西)。无需更改一行代码。


1
投票

理论上你可以在 WPF 中做任何你想做的事情。将其与 WinForms 应用程序进行比较。有什么是你不能用它构建的吗?并不真地。 WPF 也是如此。只是 WPF 更适合某些内容,例如动画、视频、图形等。由于它基于 xaml,因此它也更适合针对 XML 等数据绑定。 另请参阅此相关问题

关于你的第二个问题,我不确定你的意思。您的意思是是否可以使用 WPF 显示网站?当然可以,就像 WinForms 一样。


0
投票

哦,在WPF中有些东西还没有实现。 DataGridViews 作为流行的示例仅在 Codeplex 预览中。你有很多像扩展器这样的东西,它们以不同的方式工作,并且你可能会在自动调整内容方面遇到很多问题。

© www.soinside.com 2019 - 2024. All rights reserved.