Я не уверен, что вы пытаетесь сделать, поскольку ваш вопрос был довольно расплывчатым, но я могу пролить свет на то, как можно управлять ресурсами на платформе Silverlight.
Ресурсы Silverlight могут быть встроены в любой XAML, поскольку все визуальные элементы имеют ResourceDictionary, который доступен через свойство Resources.
<Grid>
<Grid.Resources>
<DataTemplate x:Key="MyTemplate">
</DataTemplate>
</Grid.Resources>
</Grid>
Однако рекомендуется использовать специальные файлы XAML, которые называются «Ресурсные словари».
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
<DataTemplate x:Key="MyTemplate">
</DataTemplate>
</ResourceDictionary>
Silverlight 3, предоставляет возможность автоматического объединения этих словарей ресурсов в словарь основных ресурсов приложения.
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources/A.xaml"/>
<ResourceDictionary Source="Resources/B.xaml"/>
<ResourceDictionary Source="Resources/C.xaml"/>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary>
<Application.Resources>
Чтобы объединить словарь ресурсов с ресурсами вашего Приложения, словари ресурсов должны находиться в сжатом пакете XAP, который используется для развертывания приложений Silverlight на клиенте.
Однако, если вы хотите, вы можете сохранить словари ресурсов XAML на веб-сервере и перенести их в приложение Silverlight, используя WebClient для загрузки файла, а затем используя XamlReader для построения объектной модели в памяти из строки XAML. вы извлекаете из файла.
Ресурсные словари по своей природе строго типизированы, но не type-safe . При этом вы не получите ошибку времени компиляции, если у вас неправильно введен элемент в XAML. Если в одном из ваших ресурсов произошла ошибка, вы узнаете об этом только тогда, когда ссылка на него инициализирована и механизм рендеринга попытается создать экземпляр вашего ресурса.
Итак, вкратце:
- Да.
- Да.
- Да.
- номер