2012-04-17 7 views
1

У меня есть UserControl, который ссылается на StaticResource, на который обычно ссылаются в app.xaml, и все в порядке ... но моя сборка - это проект библиотеки, поэтому нет app.xaml. Как мне теперь ссылаться на этот StaticResource?Ссылка на StaticResource в XAML

Вот UserControl, где я пытаюсь refence это

<UserControl 
    d:DataContext="{Binding Source={x:Type main:IViewModel}, 
    Converter={StaticResource viewModelLocator}}"> 

и здесь, где она обычно находится в app.xaml

<Application xmlns:t="http://schemas.t.com/wpf" xmlns:app="clr-namespace:T.UI"> 
<Application.Resources> 
    <t:ViewModelLocator 
     x:Key="viewModelLocator" 
     Container="{x:Static app:ConfigurationPlugin.Container}" /> 
</Application.Resources> 

Я просто получаю ошибку сообщение "viewModelLocator не может быть разрешено".

ответ

3

добавление ресурса к ресурсам UserControl должно сделать трюк; на самом деле почти каждый элемент Wpf имеет свойство Resources.

<UserControl.Resources> 
    <t:ViewModelLocator x:Key="viewModelLocator" 
     Container="{x:Static app:ConfigurationPlugin.Container}" /> 
</UserControl.Resources> 
+0

Спасибо за ответ, я думал, что это был еще один способ сделать это, но получал сообщение об ошибке «Исключение было вызвано целевым вызовом», поэтому я предположил, что ошибаюсь. Я ненавижу общие сообщения об ошибках, которые не говорят вам, что не так !!! Я буду упорствовать, пытаясь решить это. – pengibot

+0

за исключения, подобные этим, подключите отладчик. Когда возникает исключение, вы можете получить его детали, посмотрите на дерево innerExceptions, которое должно дать вам больше информации. – stijn

+0

Он работает нормально без ошибок, если я его запустил. Я получаю сообщение об ошибке при попытке заполнить представление дизайна xaml с помощью данных времени разработки. Это, однако, еще одна проблема, не связанная с этим вопросом, поэтому оставит ее до следующего дня :-) еще раз спасибо за ваш ответ – pengibot

0
<UserControl.Resources> 
    .... 

, если я не понимаю ваш вопрос.