Silverlight是WPF的子集吗?

Silverlight是WPF的子集吗?,wpf,silverlight,Wpf,Silverlight,Silverlight是WPF的子集吗?如果我学习了WPF,那么我可以说我也了解Silverlight吗?Silverlight类似于WPF,实际上是以WPF/E(WPF Everywhere)的形式开始的,但在某种程度上,它变成了一个单独的实现,并且与WPF不直接兼容 也就是说,您将在WPF中学习的大多数技术和类都有Silverlight变体。一个主要的例外是WPF中的3D可视化工具在Silverlight中不可用 Silverlight仍然在特定于Silverlight的.NET运行时(比完

Silverlight是WPF的子集吗?如果我学习了WPF,那么我可以说我也了解Silverlight吗?

Silverlight类似于WPF,实际上是以WPF/E(WPF Everywhere)的形式开始的,但在某种程度上,它变成了一个单独的实现,并且与WPF不直接兼容

也就是说,您将在WPF中学习的大多数技术和类都有Silverlight变体。一个主要的例外是WPF中的3D可视化工具在Silverlight中不可用

Silverlight仍然在特定于Silverlight的.NET运行时(比完整的.NET运行时版本更精简)中编码,并且您仍然使用XAML来描述您的演示文稿


还应该注意的是,Silverlight在访问运行它的机器上的资源时有内置的限制。例如,Silverlight应用程序无法访问注册表。Silverlight中有一些增强功能,允许“浏览器外”应用程序获得完全信任权限。

Silverlight和WPF之间的一个最大区别是CLR(公共语言运行时),Silverlight是沙盒,因此您无法获得WPF提供的很多功能

如果您了解WPF XAML和编程风格的模型视图类型方面,例如依赖属性,那么您将发现使用Silverlight非常容易


Silverlight的一个大问题是您不能引用C#非Silverlight类,您必须通过WCF使用这些类型的类。

您所说的“非Silverlight类”是什么意思。它是指我们创建的自定义类,如Customer或Order吗?是的,如果它们不是在Silverlight C#class项目中创建的,您将无法在Silverlight项目中引用它们。还听说在Framework 4.0中,它使用XAML 2009。不知道它是什么,但它看起来像是一种标记语言。需要知道的重要一点是,Silverlight.NET运行时与PC或Web服务器上的完整.NET运行时不同。这就是为什么为完整的.NET运行时创建的任何东西都不能在silverlight应用程序中工作,因为它们不是相同的二进制文件。