XAMLの

<Window.Resources>
<ResourceDictionary x:Name="r" Source="/Folder/Resources.xaml"/>
</Window.Resources>
と同等の処理をC#で記述する方法を教えて下さい。

XamlReader.Load()を使用する場合は、引数の値の作成方法もお願いします。

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2007/10/19 14:47:40
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:shiba-yan No.3

回答回数2ベストアンサー獲得回数2

ポイント120pt

Window のコンストラクタなどで

Resources.Source = new Uri("Folder/Resources.xaml", UriKind.RelativeOrAbsolute);

と書くだけでよさそうです。

また、複数のリソースディクショナリを追加したい時には

ResourceDictionary rd = new ResourceDictionary();
rd.Source = new Uri("Folder/Resources.xaml", UriKind.RelativeOrAbsolute);
Resources.MergedDictionaries.Add(rd);

のように MargedDictionaries に追加してやればいいです。

Source プロパティを弄る前後には BeginInit と EndInit を呼び出した方がいいのかもしれませんが、呼び出さなくても動きました。

id:koori

ありがとうございます!

ResourceDictionaryのSourceプロパティにUriを指定することで、無事、目的の処理を行うことができました。

2007/10/19 14:42:27

その他の回答2件)

id:minkpa No.1

回答回数4178ベストアンサー獲得回数55

id:koori

リンク先では上記のXAMLと同様、リソースの設定をXAMLで行っているので、同等のC#コードについての説明は無いように思えます。

リンク先のどの部分が質問の答えになっているのでしょうか?

2007/10/17 18:19:21
id:karate_kid001 No.2

回答回数93ベストアンサー獲得回数2

id:koori

う~ん、こちらのリンク先でも、リソースの設定はXAML行っていて、C#コードでの説明は無いように思えます。

2007/10/19 14:37:16
id:shiba-yan No.3

回答回数2ベストアンサー獲得回数2ここでベストアンサー

ポイント120pt

Window のコンストラクタなどで

Resources.Source = new Uri("Folder/Resources.xaml", UriKind.RelativeOrAbsolute);

と書くだけでよさそうです。

また、複数のリソースディクショナリを追加したい時には

ResourceDictionary rd = new ResourceDictionary();
rd.Source = new Uri("Folder/Resources.xaml", UriKind.RelativeOrAbsolute);
Resources.MergedDictionaries.Add(rd);

のように MargedDictionaries に追加してやればいいです。

Source プロパティを弄る前後には BeginInit と EndInit を呼び出した方がいいのかもしれませんが、呼び出さなくても動きました。

id:koori

ありがとうございます!

ResourceDictionaryのSourceプロパティにUriを指定することで、無事、目的の処理を行うことができました。

2007/10/19 14:42:27

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません