2012-05-09 3 views
0

Ориентация .NET Framework 4.0.Объединить ресурсы в app.xaml?

У меня есть UserControl (usercontrol.xaml) с некоторыми ресурсами, которые я хотел бы получить из ресурсов приложения (app.xaml). (Моя UserControl конкретизируется в 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

Почему вы определяете стили в usercontrol? Не можете ли вы поместить свои стили в отдельный словарь ресурсов? –

+0

Никакой конкретной причины, я думаю. Ресурсов там не должно быть? – l33t

+0

Если вы хотите поделиться ими, нет. Используйте словарь ресурсов и добавьте его в объединенные словари приложения, как и вы. –

ответ

1

Положите стили в отдельный словарь ресурсов, если вы хотите поделиться ими.

Затем добавьте словарь ресурсов в объединенный словарь App, как вы делали:

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

стилей теперь доступен из любого места в пределах вашего приложения.