6

WPFでバインディングエラーが発生すると、それに伴うエラーコードが表示されます。

例えば、

System.Windows.Dataエラー:40:BindingExpressionパスエラー:'Product'プロパティが'オブジェクト''' ProductModel'(HashCode = 57788087)'に見つかりません。BindingExpression:Path = Product; DataItem ='ProductModel'(HashCode = 57788087); ターゲット要素は'TextBox'(Name ='');です。ターゲットプロパティは「テキスト」(タイプ「文字列」)です

また

System.Windows.Dataエラー:4:参照'RelativeSource FindAncestor、AncestorType ='System.Windows.Controls.ItemsControl'、AncestorLevel='1''でバインドするためのソースが見つかりません。BindingExpression:Path =Horizo​​ntalContentAlignment; DataItem = null; ターゲット要素は'MenuItem'(Name ='');です。ターゲットプロパティは「Horizo​​ntalContentAlignment」(タイプ「Horizo​​ntalAlignment」)です。

これらのエラーコードは何を表しており、それらのリストはどこにありますか?

4

1 に答える 1

8

公式のソースドキュメントはどこにも見つからないと思います。これらは、WPFアセンブリの内部にあるメッセージとコードのようです。

これは、考えられるすべてのエラーを見つけるための単一の場所ではありませんが、ソースを見ると、MS.Internal.TraceDataクラスを見ることができ、そこにエラーメッセージとコードがあります。この回答が投稿されてからリファクタリングされたようですが、生成されたファイルでこれらを見つけることができAvTraceMessages.csます。

たとえば、TraceData.ClrReplaceItem()エラーに対応し、エラー40TraceData.NoSource()対応します4

幸い、これらのメッセージを生成するために使用されたリソースファイルにアクセスできるようになりました。このファイルはここにあります。エラーコードがこのファイル内のインデックスに対応している可能性があるようです。

于 2013-01-26T05:50:44.067 に答える