9

鉴于 Silverlight 4 中宣布的新功能列表,何时仍需要 WPF?

4

9 回答 9

11

WPF 仍然具有更完整的 3D 渲染功能。

此外,即使他们宣布了对命令和绑定功能的增强,也不能保证它将具有 WPF 当前具有或将在下一版本中具有的全部功能

编辑:在玩了 Silverlight 4 beta 之后,看起来几乎所有的新功能(网络摄像头、文件访问、全屏键盘、COM 互操作等)只有在应用程序被提升信任时才能工作,而提升的信任只能是用完浏览器时启用。其中一些可能会因 RTW 而改变,但目前,WPF 看起来仍然是在浏览器窗口内执行这些操作的唯一方法

于 2009-11-18T23:08:27.603 回答
9

在等待包含 WPF 的完整模板和数据绑定功能的 Silverlight 版本时,我一直主要使用 XBAP 进行浏览器部署。或许 Silverlight 4 会做到这一点。

Silverlight 4 绝对无法做到的几件事是:

  • 允许您将 WinForms 和 MFC 用户界面组件与您的应用程序无缝集成
  • 高效地使用最初在 C/C++ 中定义的数据文件结构(使用 WPF,您可以简单地复制代码并使用和轻松复制原始 C++unsafe代码StructLayoutAttribute
  • 在应用程序中包含非托管 C++ 代码

我还没有真正下载 Silverlight 4 测试版,所以这个列表肯定是不完整的。

于 2009-11-18T19:05:47.210 回答
3

当您不想依赖浏览器完成工作时,当您需要在没有事先确认的情况下完全快速地访问文件系统时,当与不安全的代码位进行互操作时。这些是我能想到的少数几个,但它们也可能是其他原因,这取决于 Silverlight 4 真正具有的功能以及它们的实际工作情况。

于 2009-11-18T18:52:44.920 回答
3

下一版本的 Visual Studio 将不会用 Silverlight 编写;) 我迫不及待地想在 WPF 中编写一个音频实用程序——而且 Silverlight必须经过沙盒处理,远离令人难以置信的 Windows 音频子系统。但是,我可以看到 WPF 将被称为 Silverlight(或者相反)的那一天。

于 2009-11-18T23:19:32.770 回答
2

我们(在我们公司)今天编写的应用程序除了没有限制的本地 TCP/IP 连接外,没有使用 Silverlight 不支持的任何内容。

这是我们使用 WPF 的唯一原因。如果我们可以改用 Silverlight(桌面模式),我们就可以让我们的客户选择在 Mac(和 linux)系统上工作,而不是被迫(被我们?)使用最新版本的 Windows(你会惊讶有多少公司仍在使用旧的(部分)不受支持的版本)。

即使在 WPF 中,我们也尝试限制对系统的访问,我们创建自己的沙箱并尽量不超出它。(永远不需要管理员权限,永远不要访问你不需要的东西)

因此,对于我们所做的,Silverlight + 真正的 tcp/ip 支持已经绰绰有余了……但是 WPF 绝对还有空间,我很确定它会继续存在。

这一切都取决于你正在建造什么。

于 2009-11-27T08:10:28.230 回答
1

Silverlight 将始终偏爱小型有效负载而不是功能。从战略上讲,微软将尝试使用 Silverlight 来超越 Adob​​e 的产品,而 WPF 将与其他重型平台竞争。如果您查看 WPF 4,您会注意到对更重功能的推动。我尽量记住 WPF 最初是作为 Avalon 的,旨在永久取代 Win32。如果有一天 Windows XX 是“本机”WPF 并且 Win32 将被模拟,我不会感到惊讶。

于 2009-12-05T03:58:36.017 回答
0

如果您想通过 ADO.NET 直接访问数据库,这在 Silverlight 4 中是无法做到的。尽管您现在将拥有一些打印支持和网络摄像头/麦克风,但对设备的访问仍将受到限制。我还没有听说过任何关于 64 位支持的消息,所以如果你想提供 64 位版本的应用程序,你将需要 WPF。我也认为即使 Silverlight 4 更好地利用了 GPU,它仍然不会达到 WPF 使用它的水平。

Silverlight 不包含 .NET 框架中的大量其他程序集,因此如果您需要其中任何一个程序集,则需要使用 WPF。

就像 HTML5 在某些情况下会减少对 Flash 或 Silverlight 等插件的需求一样,Silverlight 会减少对 WPF 的需求,但仍有很多情况下您需要它。

于 2009-11-19T14:39:10.357 回答
0

如果您需要进行大量的富文本 (FlowDocument) 编辑,仍然需要 WPF。Silverlight 4 具有新的 RichTextBox,但它仅限于非常基本的内容,并且不提供 WPF 中 FlowDocuments 中可用的完整功能集。FlowDocument 可以有效地完成 WinForms RichTextBox 可以做的事情;但如果您只需要基础知识,Silveright 中的 RichTextBox 可能会满足您的需求。

于 2010-05-18T02:22:34.667 回答
-1

底线是银光是有限的。因此,如果您要使用功能较弱的技术,您应该有一个令人信服的理由这样做。我能想出的唯一一个,在某些情况下是一个很大的,是 Silverlight 对平台更无动于衷。我只是无法想象有人想要将浏览器和所有令人头疼的问题带入解决方案。一定有充分的理由。

于 2011-05-26T19:51:49.517 回答