2010-01-25 43 views
4

我是ASP.Net中的Web开发人员。只是我听说过WPF.Is WPF是用于桌面的东西,或可以 我在我的web应用程序中使用所有的WPF控件?当我访问微软网站时,很多关于设计工具(表达式,混合)的东西,我可以在哪里获得WPF的Web开发人员视角视图(只需将控件拖到我的表单上并设置编码属性)?WPF初学者澄清

回答

7

底线是这样的 - WPF是一种桌面技术。这是非常紧密相关的兄弟姐妹--Silverlight需要一个像Flash一样运行在浏览器中的运行时。

Silverlight组件/控件/应用程序可以托管在一个asp.net应用程序内部,但是你的技能只会“结转”的想法被严重误导。 Silverlight使用相同的核心语言(C#,VB.NET等和.NET Framework的子集),以至于知识宝贵,但WPF和Silverlight都使用称为XAML或(XML应用程序标记语言)的声明性表示语言。 XAML是HTML所梦寐以求的 - 它非常强大和优雅,并且对绑定等内容提供了丰富的支持。

从工具角度来看 - Expression Blend实际上是一个可以定位Silverlight或WPF应用程序的XAML设计器。雷使得有关WPF控件和XBAP类型的评论部分的一些好点(XAML:

影片可以在

UPDATE被发现浏览器应用程序)

+1

此答案有一些很好的信息,但我担心它也是极具误导性。问题是“是WPF的桌面的东西,还是我可以使用我的Web应用程序中的所有WPF控件?”事实上,WPF具有非常好的称为XBAP的Web部署功能,所以它肯定不是仅限桌面的技术。我已经创建了几个使用所有WPF控件的Web应用程序。当然Silverlight在许多情况下可能更合适,但我认为你应该编辑你的答案,以澄清WPF本身可以部署到桌面和网页。 – 2010-01-25 22:26:28

+0

“XAML是HTML只能梦想成为的” - 尼斯! – Anjisan 2010-01-25 22:36:49

+0

雷 - 点在XBAP上的东西,但我认为当大多数人谈论把东西放入他们的网络应用程序时,他们通常会将它们作为Html输出元素进行内联。 – keithwarren7 2010-01-25 22:39:50

0

WPF仅适用于桌面应用程序。 Silverlight与WPF非常相似,但可以用作Flash替代品,因此您的技能可以继续使用。

+0

应该记住,silverlight是wpf的一个子集,并且由于安全模型的原因,有些东西你不能(或不应该)用silverlight做。 – 2010-01-25 20:27:35

+0

不正确。 WPF并不仅限于桌面应用程序。 WPF可以部署到桌面或网页。我在短时间内创建了一些令人印象深刻的Web应用程序,每个人都问我是如何做到的。我的秘密武器是WPF,它现在比Silverlight更强大。当然,你错过了没有运行Windows的市场的10%,但是随着Silverlight的突飞猛进,我认为我们很快就能够切换(请注意标记扩展!)。 – 2010-01-25 22:31:38

+0

我不指望XBAPs,因为它们很难得到正确的结果(签名,完整还是部分信任,浏览器问题等......),但您是对的 – 2010-01-25 23:18:09

1

如果y您正在开发Intranet应用程序,您可能还会考虑WPF XBAP(XAML Broswer应用程序)。 Clickonce在Intranet环境中启用了非常有趣的WPF XBAP的部署方案。

WPF XBAP可以提供比Silverlight更多的功能,因为XBAP可以使用完整的.NET框架。话虽如此,silverlight对于开发业务线应用程序来说真的很棒。

希望这会有所帮助。

1

CAN使用WPF为您的Web应用程序。我曾多次这样做过。

要将WPF部署到Web浏览器,请将您的内容包装在Page控件中,并创建所谓的XAML浏览器应用程序(“XBAP”)。除了访问本地计算机并调用非托管代码之外,XBAP几乎可以完成完整的WPF应用程序所能做的任何事情。

目前XBAPs比Silverlight强大得多,尽管这种差距很快就会缩小。我预计在未来的一两年内,Silverlight将会像XBAP一样好用于Web部署。