[WPF][C#]XAMLをデザインモードで開くと例外が発生するが、実行すると正常に動作する

XAMLのコンストラクタなど、一部のメソッドやプロパティはデザインモードでも実行されます。デザインモードで動作しないプロパティやメソッドが参照されると、デザインモードでエラーが発生します。

対処方法

エラー箇所をStackTrace等で確認(大抵、XAMLのコンストラクタ内です)し、該当箇所をデザインモードで動作しないようします。デザインモードかはSystem.ComponentModel.DesignerProperties.GetIsInDesignModeメソッドで判定できます。

サンプル

次のサンプルでは、イベントハンドラの登録を実行時にのみ行っています。

検証環境

関連ページ