XamlReaderは、generic.xamlをロードするときにスローし、リソース辞書をマージします

StackOverflow https://stackoverflow.com/questions/7805951

質問

generic.xamlをコードにロードしようとしていますが、xamlparseexceptionをスローします。次のようなコード:

Uri uri = new Uri("Themes/Generic.xaml", UriKind.Relative);
StreamResourceInfo info = Application.GetResourceStream(uri);
System.Windows.Markup.XamlReader reader = new System.Windows.Markup.XamlReader();

ResourceDictionary resdict = (ResourceDictionary)reader.LoadAsync(info.Stream);

this.Resources.MergedDictionaries.Add(resdict);

アイデアは、ベースページにリソース辞書をマージすることです。その後、派生ページは、ベースクラスからスタイル、色、ブラシなどを使用して使用できます。 {StaticResource DarkBrush} 例えば。

しかし、上記のコードは次のようにスローします。

''、16進数0x0cは無効な文字です。 1行目、位置1。

generic.xamlファイルは、vs2010で標準的な方法で作成されました。リソースにビルドアクションを設定しようとしましたが、それも機能しませんでした...

私はそれを手に入れました コードサンプル Microsoftから。そこでは、ページのロードに使用されていました。どんな助けも大歓迎です。

役に立ちましたか?

解決

        Uri uri = new Uri("Themes/Generic.xaml", UriKind.RelativeOrAbsolute);
        var resDict = Application.LoadComponent(uri) as ResourceDictionary;
        this.Resources.MergedDictionaries.Add(resDict);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top