コードネーム“WPF/E” Dec 2006 CTP
WPF/EのCTPがついに提供されました。Windows、Mac用のラインタイムインストーラ、SDK、サンプルがリリースされています。
Download details: "WPF/E"(codename) CTP for Windows (Dec 2006)
Download details: "WPF/E"(codename) CTP for Mac (Dec 2006)
Download details:"WPF/E"(codename) CTP SDK Dec 2006
Download details:"WPF/E"(codename) CTP Sample Pack (Dec 2006)
Windows用のランタイムは、Internet Explorer 6.0と7.0、Firefox 1.5.0.8と2.0に対応しているようです。
Mac用のラインタイムは、MacOSX 10.4.8でSafariとFirefox 1.5.0.8に対応しているようです。
SDKをインストールすると、下記のフォルダにVisual Studio 2005用のVSパッケージがインストールされるテンプレートのインストーラがあるのですが、これをインストールするにはASP.NET | The ASP.NET Siteをインストールする必要があるようです。Visual Studio 2005 SP1 BetaのWebアプリケーションプロジェクトではインストールが許可されないようです。
C:\Program Files\Microsoft SDKs\WPFE\Tools
そして、Visual Studio 2005 Web Application Projectsは英語版のVisual Studio 2005じゃないとインストールできなかったりします。
ものすごく簡単なサンプルを作ってみました。
html
<HTML><HEAD><TITLE>"WPF/E" CTP (December 2006) - Film Strip</TITLE>
<SCRIPT src="js/aghost.js" type="text/javascript" ></SCRIPT>
<SCRIPT src="js/main.js" type="text/javascript" ></SCRIPT>
<BODY>
<div id='wpfeControlHost' style="width:320; height:240; background:White">
<script type='text/javascript'>
new agHost("wpfeControlHost", // hostElementID (HTML element to put WPF/E
// ActiveX control inside of -- usually a <div>)
"wpfobj", // ID of the WPF/E ActiveX control we create
"320", // Width
"240", // Height
"#ff999999", // Background color
null, // SourceElement (name of script tag containing xaml)
"xaml/simple.xaml", // Source file
"false", // IsWindowless
"24", // MaxFrameRate
null); // OnError handler (method name -- no quotes)
</script>
</div>
</BODY></HTML>
main.js
function Slides(target) {
wpf = document.getElementById("wpfobj");
}
function downButton (sender, eventArgs)
{
var o = wpf.FindName("MessageText");
o.SetValue("Opacity", 1);
}
XAML
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Loaded="javascript:Slides">
<TextBlock x:Name="ButtonText" FontSize="48" Text="Click Me!" MouseLeftButtonDown="javascript:downButton"/>
<TextBlock x:Name="MessageText" Text="Hello WPF/E" FontSize="48" Opacity="0" Canvas.Top="60" />
</Canvas>
"WPF/E"はWPFから3D部分を抜いたサブセットだと思っていましたが、実際にはまったくの別モノと言ってよさそうです。
"WPF/E"にはTextBoxやListBoxなどのおなじみのコントロールはないようです。またほとんどのクラスがWPFにも存在しているクラス名となっているようですが、メンバは異なる(減っている)ようです。
一応作ったサンプルはここに置いておきます。