VS2013のWPFプロジェクトに「Blendで開く」を追加する方法

Visual Studio 2012からある問題なのですが、WPFプロジェクトからBlendを開くことができません。ストアアプリやSilverlightのXAMLファイルからは開けるのに、何故にWPFプロジェクトからは駄目なのか?は謎なのですが…多分、バグですよね、これ。

Blendで開く操作がプロジェクトの種類によって異なる | Microsoft Connect
https://connect.microsoft.com/VisualStudio/feedback/details/781581/blend
VS2012のWPFプロジェクトに、「Blendで開く」メニューを追加する – SourceChord
http://d.hatena.ne.jp/minami_SC/20130407/1365351086

上記のVS2012で、外部ツールを使ってコンテキストメニューに追加する方法はVS2013でも有効です。なので、まあ自分で使う分にはいいか、ってところなんですが…ストアアプリのプロジェクトには「Blendで開く(B)…」があるのだから、どっかで設定はしているハズなんですよ、と思い直して探してみました。

■コンテキストメニューのカスタマイズ

Visual Studio ではメニューやらコンテキストメニューは、カスタマイズが可能です。メニュー部分を右クリックして「カスタマイズ」を選択、そのあとに「カスタマイズ」ダイアログのコマンドタブを開くと、Visual Studio で利用するメニューを変更できます。

このコンテキストメニューの「プロジェクトとソリューション コンテキストメニュー|項目」に、アイテムを右クリックしたときにコンテキストメニューが割り当てられています。これをどうやって探すのかは不明なんですが…勘で見つけるしかないんですかね?

image

これを見ると、「Blend で開く」が3つ並んでいます。なんで3つ並んでいるのか分かりませんが、「B付き」と「B無し」と、「…無し」ですね。なんか理由があるのかな?と思って、この元ネタを探します。

元ネタを探すのが結構苦労したのですが、「コマンド追加」ボタンをクリックして、「表示」カテゴリの中にあります。ここには「B付き」と「B無し」はあるのですが「…無し」はありません。まあ、良しとしましょう。

image

さて、ここでストアアプリのコンテキストメニューを見てみると、「B付き」のメニューを使っていることが分かります。「B無し」は何処で使っているのかわかりませんが、ストアアプリのプロジェクトと同じものを使えば動くのかな?と想像ができます。

image

そんな訳で、先のカスタマイズで「B付き」のBlendで開くを追加すると、WPFプロジェクトにも「Blendで開く」が無事表示されます。めでたし、めでたしと思い気や、実は違うのです。WPFプロジェクトに「Blendで開く」が表示されるようになったのですが、今度はストアアプリのほうに「Blendで開く」が2つ表示されるようになってしまいます。

こんな風に新しく「Blendで追加」を追加すると…

image

ストアアプリのほうに二重にメニューが出てきてしまいます。

image

という訳で、なんとなくわかりますね。おそらく、最初の「Blendで開く(B)…」が変な登録の仕方をされているようなのです。

そんな訳で、

  1. もともとある、「Blend で開く(B)…」を削除する。
  2. コマンド追加で、「Blend で開く(B)…」を追加する。

という入れ替えをしてやると、無事 WPF でも Blendで開くが表示されます。

image

ちなみに、二重に「Blendを開く」を追加してしまった場合は「すべてリセット」ボタンで、リセットさせてください。何故か、カスタマイズのダイアログを開くと二重にあるはずの「Blendを開く」メニューがひとつしかなくて、目的のメニューを削除できません(これも多分、不具合)。まあ、2つとも同じ名称なのでどちらを削除していいか分からないので、リセットしかないのですが。

■プロジェクトのコンテキストメニュ―に追加

先の方法は、*.xaml の右クリックのコンテキストメニューなのですが、WPF プロジェクト自体のコンテキストメニューにも追加できます。

プロジェクトのほうは「プロジェクトとソリューション コンテキストメニュー|プロジェクト」のほうの「Bあり」のBlendで開くを、削除→追加します。

image

これで、ストアアプリやSilverlightのプロジェクトと同じように、WPFプロジェクトでもBlendと行き来が可能になります…って、これは、VS2013のUpdateで直してほしいところ。

カテゴリー: 開発 パーマリンク