ページ

2007年10月16日火曜日

VS2008 では WPF のイベントは手書きだって(しょぼーん)

渋木さん から教えてもらいました。

Add an events section to the properties window for WPF projects

上記は Connect にあった、Visual Studio 2008 へのフィードバックです。
今の VS2008 beta2 では WPF のイベントはプロパティウインドウでは管理できません。Windows.Forms ではプロパティウインドウに 「イベント」 タブがあってイベントハンドラを新しく作ったり、既存のメソッドをイベントハンドラとして関連付けたりすることができます。この機能が WPF のデザイナにはごっそりないわけです。

で、上記のフィードバックは 「この機能がないよ」 というものなんですが、それに対する Microsoft からのコメントが

Suggestion をありがとう。我々もイベントタブはプロダクトに追加すべき重要なものであると同意します。しかし、残念ながら Orcas のスケジュールに収まりません。この機能は将来のリリースの優先順位リストの上の方にあります。

なんてあります。

いやー、正直驚きました。てっきり 「beta2 だから」 まだ無いもんだとばっかり。。。まさか RTM にも無いとは。。。つか、Windows.Forms のデザイナより低機能になっちゃうってこと?と思っちゃうんですが。目玉の一つであるはずの WPF のデザイナがそんなんでいいんだろうか?

一応、書いておくと、WPF のデザイナにイベントを管理する機能がまったく無いというわけではありません。
まず、デフォルトのイベントハンドラはダブルクリックで追加したりコードへジャンプしたりできます。たとえばボタンを配置してそれをダブルクリックすると自動的に Click イベントのハンドラが追加され、そのコードにジャンプしてくれます。しかし、これができるのはボタンなら Click、テキストボックスなら TextChanged などといったデフォルトのイベントだけです。
また、XAML 上では 「MouseDown」 などと入力するとインテリセンスといっしょに 「<New Event Handler>」 といったものが表示れさて、これを選択すれば自動的にイベントハンドラのコードを追加してくれます。こちらはそのコントロールが持つすべてのイベントで使用できます。

2007年10月15日月曜日

beta2 から RTM になるときの LINQ to SQL の変更点

LINQ to SQL breaking changes from beta2 to RTM (compiled from my LINQ forum posts) より

早くも LINQ to SQL の beta2→RTM 時の変更点が紹介されてました。
主に US の MSDN Forum へのリンクなんですが、LINQ to SQL Beta2 to RTM Key Changes なんておもしろいですね。RemoveAll() が RTM 版では DeleteAllOnSubmit() になるそうです。削除されるのはあくまで submit したときであるということをイヤと言うほど明示したメソッド名にしたわけですね(^^;

2007年10月9日火曜日

Microsoft MVP を再受賞

今回も Microsoft MVP を受賞することができました。
今までと同じく Visual Developer - Visual C# です。

2007年10月4日木曜日

.NET Framework のソースコード公開

すでにあちらこちらでニュースになっていますが、、、

Releasing the Source Code for the .NET Framework Libraries より

Visual Studio 2008、.NET Framework 3.5 のリリースに合わせて .NET Framework のライブラリの一部のソースコードが公開されるそうです。公開と言っても Ms-RL という参照のみが許諾され複製、変更などはできないライセンスとなるそうです。
VC++ では template ベースのライブラリである ATL、WTL は当然として、MFC やランタイムなんかもソースが付いてて、入れてさえおけばデバッガで中まで入っていくことができましたから、ちょうどそれとおんなじような感じですね。

とりあえず公開されるのは以下の部分。

  • Base Class Libraries (System, System.IO, System.Collections, System.Configuration, System.Threading, System.Net, System.Security, System.Runtime, System.Text, etc)
  • ASP.NET (System.Web)
  • Windows Forms (System.Windows.Forms)
  • ADO.NET (System.Data)
  • XML (System.Xml)
  • WPF (System.Windows)

その後、以下の部分なんかも含めてもっと公開。

  • WCF
  • Workflow
  • LINQ

これらのソースは 「コメントも含まれている」 そうです。

で、これらのソースはダウンロードしてスタンドアローンにインストールし、テキストエディタなんかで見ることもできますし、以下のように VS2008 で利用することもできるそうです。

VS2008 ではインターネット上にあるシンボル情報 (とソースコード) を利用する機能がサポートされ、デバッガでステップインすると必要に応じてソースコードを取得して .NET ライブラリの中まで入っていけるそうです。また、ステップインだけでなく、たとえばコールスタックをダブルクリックしたりとかでもライブラリのソースを表示することができるそうです。

ところで、冒頭の方に "Today I'm excited to announce that we'll be providing this with the .NET 3.5 and VS 2008 release later this year." なんてありますが、.NET 3.5 と VS2008 って今年後半にリリースされるの?

2007年10月3日水曜日

LINQ でレイトレース...ってバカだろ(いい意味で

Taking LINQ to Objects to Extremes: A fully LINQified RayTracer?より


1つの LINQ クエリー式でレイトレースしてるそうです。
レイトレースってもちろんあれですよ?ピクセルごとに光線の追跡をして 3D 表示するってやつ。


クエリー式のところだけでなく LINQRayTracer.cs も落とせるようになってますので、VS2005 beta2 VS2008 beta2 (※1) で Windows Forms なプロジェクトを作って、Program.cs と Form1.cs を削除して、この LINQRayTracer.cs を追加して実行してやればそのまま動きます。(LINQRayTracer.cs に Main() も含まれています)


まだ内容はよく見てませんし、見てもわかるかどうかはわかりませんが、すごいということはわかりましたwww


※1
10/03訂正 VS2005 beta2 ではなく、もちろん VS2008 beta2 です。

2007年10月2日火曜日

SWF to XAML コンバータ

SWF to XAML Converter より

The ConvertedHarmony という 2つの SWF から XAML へのコンバータが紹介されています。
(SWF は Flash のファイル形式です)

The Converted の方は有料の商品みたいです (trial バージョンあり)。Harmony の方は現在 beta 段階みたいですが、完成後どうなるのかはわかりませんでした。
どちらも WPF XAML と Silverlight XAML をサポートするようです。

The Converted のデモ を見ると結構ちゃんと変換できるもんなんですね。ちなみにこのデモページには XAML ファイルが直に置いてあるので XamlViewer が立ち上がって表示されることになります (いわゆるルーズ XAML)。

Silverlight Enterprise Deployment Guide (英語)

Silverlight が入っていない環境で Silverlight を使ったページを参照すると 「Get Silverlight」 といった画像が表示されてそれをクリックすれば簡単に Silverlight プラグインを入れることができます。(もちろん、そうならないようなページを作ることもできますが、Silverlight.js を使った標準的なページでは自動的にこうなります)

なので、通常は事前に Silverlight を入れておく必要とかはないんですが、エンタープライズな環境ではそうできない場合もあります。企業内の閉じた環境とか、閉じてはいなくても勝手にプラグインを入れられないようになっている環境なんかもあるでしょうし。
そんな場合に Silverlight をどうやって配布したらいいのかのガイドが Silverlight Enterprise Deployment Guide にまとめられています。
(ちゃんと読んだわけではないので内容については聞かないでくださいw)