2013年3月20日水曜日

.NET 4.5 導入後の WF 標準アクティビティアイコンのリソース変更について

以前に .NET 4.5 をインストールすると標準アクティビティのアイコンが Metro チックに変更される、という記事を書きました。この記事を書いた時は、正式版ではなかったのですが、その後正式版をインストールしてみたところ、アクティビティのアイコンは変化しませんでした。ただし、自作ツールの方では変化があり、ツールボックスのアイコンが表示されなくなってしまっていました。この点について調べてみたところアイコンを保持していたリソースファイルに変更が入っていたことがわかりました。

今まで利用していたリソースは System.Activities.Presentation.dll に含まれている icon.xaml というファイル名でした。これが .NET 4.5 インストールにより次のように変更されます。

image

ILSpy による解析ですので xaml はコンパイルされた baml になっていますが、大体わかると思います。今までの icon.xaml はファイルとして存在していますが、その中にアクティビティのアイコンリソースはありませんでした。これが自作ツールでアクティビティのアイコンが表示されなくなった原因でした。

では.NET 4.5 におけるアクティビティアイコンはどこに、となりますが icon.xaml に似たファイル名として icon.default.xaml と icon.windowsapp.xaml という2つのがファイルが含まれているのが見えると思います。このファイルが.NET 4.5 における標準アクティビティアイコンが含まれているリソースになります。

icon.default.xaml を利用すると通常のアイコンが、icon.windowsapp.xaml を利用すると Metro チックなアイコンを利用できるようになります。

image

ですがスクリーンショットを見ていただくとわかりますが、ワークフローデザイナー上のアクティビティアイコンが通常時のものとなっています。ここを変更する方法についてはこれから調査しようと思います。

0 件のコメント:

コメントを投稿