最近 WPF で嵌ったこと

以下、備忘録です。まだうまく纏まってませんが、時間を見て整理し直そうと思ってます。


添付ビヘイビアを別プロジェクトに定義し、別の WPF ライブラリで使うとエラーが発生する。

例えば スタートプロジェクト A、WPF Window ライブラリ B、添付ビヘイビアを含むライブラリ C があったとする。
ライブラリ B 内の Window に、ライブラリ C にある添付ビヘイビアを使うと VS2008 の場合 NullReferenceException、VS2010 だと System.Windows.Markup.XamlParseException が発生する。


対処方法
スタートプロジェクト A の参照設定に ライブラリ C を追加する。


参考記事
MSDN フォーラム「添付ビヘイビアとアセンブリの関係」
Application.LoadComponent メソッド

ApplicationDefinition 要素を指定できません

WPF ライブラリプロジェクトから WindowsForms ライブラリプロジェクトに Window を移動した場合、ビルドアクションがいつの間にか ApplicationDefinition に変わっていて、ビルドすると

「ライブラリ プロジェクト ファイルは、ApplicationDefinition 要素を指定できません。」

というエラーが発生する。


対処方法
このエラーが発生した場合、Window のプロパティにあるビルドアクション を ApplicationDefinition から Page に変えればよし。


参考記事
WPF アプリケーション (WPF) のビルド 〜 WPF の MSBuild プロジェクト ファイル
ApplicationDefinition 要素を指定できません。エラー


C#クックブック 第3版

C#クックブック 第3版