2012-05-09 5 views
0

対象とする.NET Framework 4.0。リソースをapp.xamlにマージしますか?

私は、アプリケーションのリソース(app.xaml)からアクセスしたいいくつかのリソースを持つUserControl(usercontrol.xaml)を持っています。 (私のユーザーコントロールはMainWindow.xamlでインスタンス化されます。)

は、これまでのところ、私がapp.xamlでこれを試してみた:

<ResourceDictionary.MergedDictionaries> 
    <ResourceDictionary Source="usercontrol.xaml"/> 
</ResourceDictionary.MergedDictionaries> 

しかし、Visual Studioがこの文句:リソースディクショナリを見つけ中にエラーが発生しました 」 usercontrol.xaml "

Q:私は、実行時にこれを行うことができるようにどのように私は、アプリケーションに私のUserControlのリソースを追加することができます。

Style style = FindResource("SomeStyleDefinedInUserControl") as Style; 
+2

なぜユーザーコントロールにスタイルを定義しますか?別のリソース辞書に自分のスタイルを入れることはできませんか? –

+0

特に理由はありません。リソースはそこにあるべきではありませんか? – l33t

+0

あなたがそれらを共有したい場合は、いいえ。あなたがしたように、リソースディクショナリを使用して、アプリケーションのマージされた辞書にそれを追加します。 –

答えて

1

あなたがそれらを共有したい場合は、別のリソースディクショナリにあなたのスタイルを入れてください。あなたがやったように

はその後、アプリケーションのマージされた辞書にリソースディクショナリを追加します。

<ResourceDictionary.MergedDictionaries> 
    <ResourceDictionary Source="usercontrol_styles.xaml"/> 
</ResourceDictionary.MergedDictionaries> 

スタイルは、どこでも、あなたのアプリケーション内からアクセスできるようになりました。

関連する問題