Учитывая, что ресурсный словарь загружает некоторые статические ресурсы в память - есть ли способ итерации через загруженные в память ресурсы? Приложение silverlight продолжает сообщать мне, что не может найти статический ресурс. Интересно, если у меня есть вопрос именования конвенции или somehting - надеется переборе ресурсов в памяти поможет диагностировать любую проблему ...Итерация через StaticResource, загружаемая ResourceDictionary
У меня есть следующие app.xaml
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="Module1.MyApp">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/FSSilverlightApp;component/TransitioningFrame.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
и шаблон контента:
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ControlTemplate x:Key="TransitioningFrame" TargetType="navigation:Frame">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
<ContentPresenter Cursor="{TemplateBinding Cursor}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
Margin="{TemplateBinding Padding}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
Content="{TemplateBinding Content}"/>
</Border>
</ControlTemplate>
</ResourceDictionary>
хммм. добавление словаря в UserControl.Resources - кажется, заставляет все работать ... Почему вы думаете, что это будет? Когда ссылка была в app.xaml, я смог получить ссылку на элемент через: let i2: ControlTemplate = downcast Application.Current.Resources.MergedDictionaries. [0]. ["TransitioningFrame"] Какой показывает, что он загружен - но приложение все еще бросает исключение – akaphenom
Не уверен, возможно, какая-то циклическая зависимость бросает гаечный ключ в работу? Может быть, вы можете проверить, есть ли у вашего компонента проблемы, поставив простой ресурс, например Brush, в объединенный словарь и посмотреть, доступно ли это в элементе управления? –
absolutley Я могу обмануть его. Но я думаю, что этого достаточно, и я могу передать его инженеру, чтобы перекачать какие-то фиктивные таблицы и т. Д. На место для демонстрации. Наличие этого приложения в 100% f # было нелегким, но спасибо за то, что помогли мне уловить одну из последних «функциональных» неизвестных. – akaphenom