找到一个F#示例here。
基于它做了一个Boo的例子。源代码:
namespace Hello
import System
import System.Windows
import System.Windows.Controls
class MyPage(UserControl):
def constructor():
canvas = Canvas()
textblock = TextBlock()
textblock.FontSize = 24
textblock.Text = "Hello!"
canvas.Children.Add(textblock)
self.Content = canvas
class MyApp(Application):
def constructor():
Startup += onStartup
def onStartup(sender, e):
self.RootVisual = MyPage()
内置有:
booc -nostdlib -target:library -lib:"C:\Program Files\Microsoft SDKs\Silverlight\v2.0\Reference Assemblies","C:\Program Files\Microsoft SDKs\Silverlight\v2.0\Libraries\Client" -r:System.Windows.dll -r:System.Windows.Controls.dll Hello.boo
的AppManifest.xaml:
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
EntryPointAssembly="Hello"
EntryPointType="Hello.MyApp" RuntimeVersion="2.0.31005.0">
<Deployment.Parts>
<AssemblyPart x:Name="Hello" Source="Hello.dll" />
<AssemblyPart x:Name="Boo.Lang" Source="Boo.Lang.dll" />
</Deployment.Parts>
</Deployment>
然后由含有AppManifest.xaml,Hello.dll的和啵普通.zip文件.Lang.dll(它的目录中的一个Boo库),并将其更名为hello.xap。
的HTML来看待它:
<html>
<head></head>
<body>
<object id="SilverlightPlugin" data="data:application/x-silverlight,"
type="application/x-silverlight-2" width="450" height="540">
<param name="source" value="hello.xap"/>
<a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;">
<img src="http://go.microsoft.com/fwlink/?LinkId=108181"
alt="Get Microsoft Silverlight" style="border-style: none"/>
</a>
</object>
</body>
</html>
产生的hello.xap是43 KB,这比1.5 MB,我与IronPython和DLR就好多了。