WPF で ResourceDictionary (XML) をロードしようとしたら下記のようなエラーが出た。
System.Windows.Markup.XamlParseException
(16 進数値 0x0C) は無効な文字です。 行 1、位置 1。
0x0C は FF、つまり「改頁」の制御記号を示している。
変だな。該当のリソースディクショナリを調べてみても、1 行目の 1 文字目に改頁の制御記号なんて無いですよ。。。?
ロードしようとした対象のファイルはこのリソースディクショナリ。
あれこれ調べてみたら、どうやら、ビルドアクションが「Page」になっていたのがエラーの理由らしい。
下図のように「Resource」にしたらエラーが消えた。
MEMO
ちなみに、ビルドアクションを「埋め込みリソース」(Embedded Resource) にしてもエラーは消えるが、「埋め込みリソース」は WPF 以前のものであり、WPF では「Resource」 が基本とのこと。
「Resource」の場合、ビルド後に obj フォルダ内の ApplicationName.g.resources に格納されるらしい。
(参考)http://www.kanazawa-net.ne.jp/~pmansato/wpf/wpf_resource.htm