3

コードで 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 で標準的な方法で作成されました。Build Action を Resource に設定しようとしましたが、それもうまくいきませんでした...

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

4

1 に答える 1

5
        Uri uri = new Uri("Themes/Generic.xaml", UriKind.RelativeOrAbsolute);
        var resDict = Application.LoadComponent(uri) as ResourceDictionary;
        this.Resources.MergedDictionaries.Add(resDict);
于 2011-10-18T11:07:02.133 に答える