将Silverlight与C#一起使用?

将Silverlight与C#一起使用?,c#,wpf,silverlight,C#,Wpf,Silverlight,我想学习C#和Silverlight编程。我读了很多关于WPF的书,并且非常喜欢它(从我狭隘的角度来看) 我的问题是:如果我正确理解WPF原则,那么我就可以将UI与逻辑分离 我还可以在我的应用程序中将逻辑与动画分离(使用Silverlight制作动画,使用C#制作逻辑) 我的理解正确吗 现在我正在浏览一些关于Silverlight的教程,但我想了解一些如何让这些教程相互交流的建议。在我的WPF应用程序中,如何使用Silverlight制作动画 如果有人有一本好书或资源,我真的很想读。谢谢你的帮助

我想学习C#和Silverlight编程。我读了很多关于WPF的书,并且非常喜欢它(从我狭隘的角度来看)

我的问题是:如果我正确理解WPF原则,那么我就可以将UI与逻辑分离

我还可以在我的应用程序中将逻辑与动画分离(使用Silverlight制作动画,使用C#制作逻辑)

我的理解正确吗

现在我正在浏览一些关于Silverlight的教程,但我想了解一些如何让这些教程相互交流的建议。在我的WPF应用程序中,如何使用Silverlight制作动画

如果有人有一本好书或资源,我真的很想读。谢谢你的帮助:)


我拥有的工具有:Visual Studio 2010和Expression Studio 3(如果我应该使用它而不是版本3,我可以获得4并安装试用版)

这里有一点误解

您不会在WPF应用程序中使用Silverlight。事实上,Silverlight是WPF的替代平台


如果您正在使用WPF,则可以对所有动画使用WPF。如果您希望在浏览器中运行,和/或具有silverlight的部署优势(跨平台、简单部署等),则以silverlight为目标。Silverlight开发类似于WPF开发(许多概念是相同的),但它是一个轻量级的平台,有点像WPF,没有一些功能(也有一些附加功能)。

这里有一点误解

您不会在WPF应用程序中使用Silverlight。事实上,Silverlight是WPF的替代平台


如果您正在使用WPF,则可以对所有动画使用WPF。如果您希望在浏览器中运行,和/或具有silverlight的部署优势(跨平台、简单部署等),则以silverlight为目标。Silverlight开发类似于WPF开发(许多概念都是相同的),但它是一个更轻的平台,有点像WPF,没有一些功能(也有一些附加功能)。

检查有很多不错的视频教程

看看有很多不错的视频教程

Silverlight是基于浏览器的XAML和WPF技术实现。它代表了WPF功能的一个子集。因此,您只需使用WPF即可完成桌面应用程序所需的一切。当您需要创建基于浏览器的应用程序时,您获得的经验将转化为Silverlight开发。

Silverlight是基于浏览器的XAML和WPF技术实现。它代表了WPF功能的一个子集。因此,您只需使用WPF即可完成桌面应用程序所需的一切。当您需要创建基于浏览器的应用程序时,您获得的经验将转化为Silverlight开发。

是的,您需要在Silverlight和WPF之间做出选择。对于繁重的Windows图形或GUI客户端,我会选择WPF。如果您正在寻找更多的web应用程序。我会选择Silverlight,因为配置WPF XBAP应用程序很困难。我可能会尝试在silverlight中编写它,然后如果我遇到在silverlight中无法完成的事情,则将其转换为wpf,以从那里开始,因为silverlight重量更轻且跨平台

是的,你需要在Silverlight和WPF之间做出选择。对于繁重的Windows图形或GUI客户端,我会选择WPF。如果您正在寻找更多的web应用程序。我会选择Silverlight,因为配置WPF XBAP应用程序很困难。我可能会尝试在silverlight中编写它,然后如果我遇到在silverlight中无法完成的事情,则将其转换为wpf,以从那里开始,因为silverlight重量更轻且跨平台

Silverlight不再只是基于浏览器。“它也运行OOB!”里德,谢谢你的澄清,我知道这一点。要点仍然是silverlight是一个浏览器交付的平台,它具有WPF功能的一个子集。这种区别很重要,因为使用完全不同的运行时来承载silverlight程序集,虽然.net 4.0允许.net引用silverlight程序集,但类库只可能有很小的重叠。@Berryl OOB=浏览器外,或OOBE=浏览器外体验,请看Silverlight不再仅仅基于浏览器。“它也运行OOB!”里德,谢谢你的澄清,我知道这一点。要点仍然是silverlight是一个浏览器交付的平台,它具有WPF功能的一个子集。这种区别很重要,因为使用完全不同的运行时来承载silverlight程序集,虽然.net 4.0允许.net引用silverlight程序集,但类库只可能有很小的重叠。@Berryl OOB=浏览器外,或OOBE=浏览器外体验,请参阅,可以在WPF应用程序中使用Silverlight。。。但我看不出有什么理由这么做it@Thomas:是的,它是-尽管它最多也很笨重。你实际上是在“托管”silverlight,它是整个运行时,在WPF应用程序中,你没有使用silverlight来“动画化”WPF,虽然这是OP所认为的……我假设一个非平凡的应用程序,它有一些c#domain模型的分离实现,是可重用的,WPF和Silverlight的视图必然不同,但是您的ViewModels呢?您是否尝试重用这两个平台的代码,再次假设您的应用程序有理由在这两个平台上运行,或者有不同的vm实现?Cheers@Berryl:您可以重用大量代码,特别是如果您坚持使用WPF的Silverlight子集。您甚至可以潜在地重用视图。查看Prism的一种方法的源代码(使用分部类和2个项目,但使用相同的.cs文件等)。。。但我看不出有什么理由这么做it@Thomas