C# Win CE 7应用程序开发

C# Win CE 7应用程序开发,c#,embedded,compact-framework,windows-ce,C#,Embedded,Compact Framework,Windows Ce,我需要开发一个富UI应用程序(类似于WPF或silverlight)。目标设备具有嵌入式操作系统Win CE 7。我怎么能做到这一点,经过这么多的研发,我知道这一点 1. we have to user Silverlight for GUI and C++ as backend coding 2. we can create the MFC application using some third party SDK we will not be able to get rich UI 此外

我需要开发一个富UI应用程序(类似于WPF或silverlight)。目标设备具有嵌入式操作系统Win CE 7。我怎么能做到这一点,经过这么多的研发,我知道这一点

1. we have to user Silverlight for GUI and C++ as backend coding
2. we can create the MFC application using some third party SDK we will not be able to get rich UI
此外,我还了解到,我们可以在WinCE7中为compact framework添加组件


我上面的理解正确吗,有人能解释一下吗?

要在WEC 7上开发应用程序,您需要一个由OEM构建的SDK,它为您提供目标板。 如果要在虚拟PC映像上开发,需要Platform Builder使用CEPC BSP并创建O.S.映像和相应的SDK

之后,您可以使用C++来开发Silverlight,但是可以使用.NETCuffic框架和Windows窗体开发托管代码。


Paolo.

要在WEC 7上开发应用程序,您需要一个由OEM构建的SDK,该SDK为您提供目标板。 如果要在虚拟PC映像上开发,需要Platform Builder使用CEPC BSP并创建O.S.映像和相应的SDK

之后,您可以使用C++来开发Silverlight,但是可以使用.NETCuffic框架和Windows窗体开发托管代码。


Paolo.

这真的,真的取决于你对“丰富”的定义和你瞄准的硬件的图形功能

CE7支持.NETCompact框架。很多人会说你不能在CF中使用“丰富”的UI,但事实并非如此。您不能使用标准控件来完成此操作,但如果您使用自己的自定义控件绘图,则可以做得很好。然而,这是一个很大的工作,但它可以做到。这里的限制是alphablending(工作起来不好玩)和动画(也不好玩),但只要有献身精神,你就可以解决许多问题

CE 7.0还支持“Silverlight for Windows Embedded”(又称SWE)。首先要知道的是,这不是Silverlight。它是一个XAML渲染引擎,但您可能拥有的任何其他Silverlight资产都无法使用它

SWE仅支持C++,虽然它是基于COM的,但它可以被封装在CF类中,然后从托管代码中使用。我见过几家公司这样做,而且


MFC是可用的,但由于MFC在10年前还是垃圾,我今天肯定不会使用它。如果你想使用C++而不是SWE,那么有比MFC更好的选择。STL和WTL会出现在窗口应用程序的脑海中。

这真的,真的取决于你对“丰富”的定义和你目标硬件的图形功能

CE7支持.NETCompact框架。很多人会说你不能在CF中使用“丰富”的UI,但事实并非如此。您不能使用标准控件来完成此操作,但如果您使用自己的自定义控件绘图,则可以做得很好。然而,这是一个很大的工作,但它可以做到。这里的限制是alphablending(工作起来不好玩)和动画(也不好玩),但只要有献身精神,你就可以解决许多问题

CE 7.0还支持“Silverlight for Windows Embedded”(又称SWE)。首先要知道的是,这不是Silverlight。它是一个XAML渲染引擎,但您可能拥有的任何其他Silverlight资产都无法使用它

SWE仅支持C++,虽然它是基于COM的,但它可以被封装在CF类中,然后从托管代码中使用。我见过几家公司这样做,而且


MFC是可用的,但由于MFC在10年前还是垃圾,我今天肯定不会使用它。如果你想使用C++而不是SWE,那么有比MFC更好的选择。STL和WTL会出现在窗口应用程序的脑海中。

只需在Chris和Paolo的回复中加上我的2美分,如果您没有为目标设备构建操作系统映像,或者至少无法控制其支持的功能,您的选择可能会受到设备提供的操作系统映像中包含的组件集的限制。 Windows CE是高度组件化的,命名不好的“Silverlight for Windows Embedded”(XAML)和.NET Compact Framewor运行时都可以从操作系统映像中删除,以节省存储空间和内存。 XAML运行时可以利用图形加速(当然,如果您使用的硬件提供图形加速,并且BSP包含使用图形加速的驱动程序),与完整的.NET实现相比,这可能会导致系统响应速度更快。 对于新的实现,我也会尽量远离MFC。使用MFC的唯一好理由是,您已经有了一个适合您需要的UI框架,并且基于它。
目前,在CE上,您可以选择一个易于设计且功能丰富的UI,其中包含复杂的开发和调试代码隐藏(XAML),或者一个易于开发的.NET应用程序,其UI类似于windows 95,需要进行大量的“美化”。手中的XAML可能融合了这两个方面的优点(需要额外的成本和两个沉重的运行时,但如果您拥有强大的x86机器或图形加速的ARM Cortex,这可能不是问题)。

如果您不是为目标设备构建操作系统映像,或者,至少,如果您无法控制其支持的功能,您的选择可能会受到随设备提供的操作系统映像中包含的组件集的限制。 Windows CE是高度组件化的,命名不好的“Silverlight for Windows Embedded”(XAML)和.NET Compact Framewor运行时都可以从操作系统映像中删除,以节省存储空间和内存。 XAML运行时可以利用图形加速(当然,如果您使用的硬件提供图形加速,并且BSP包含使用图形加速的驱动程序),与完整的.NET实现相比,这可能会导致系统响应速度更快。 对于新的实现,我也会尽量远离MFC。使用MFC的唯一好理由是,您已经有了一个适合您需要的UI框架,并且基于它。 目前在CE上,您可以在易于设计和具有复杂开发和调试代码的丰富UI之间做出选择