我有reports.xaml页面,在那里我已经定义了一些本地资源。
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries >
<ResourceDictionary Source="/My.Namespace;component/Resources/Converters.xaml" />
<ResourceDictionary Source="/My.Namespace;component/Resources/GlobResources.xaml" />
<ResourceDictionary Source="/My.Namespace;component/Resources/ReportingResources.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>在同一个reports.xaml文件中,我有一个content控件,如下所示...
<ContentControl
Content="{Binding}"
ContentTemplate="{Binding Converter={StaticResource reportTemplateSelector}, Path=CurrReportType}"
Margin="0"
/>现在,在我的转换器中,我用以下几行代码加载了ReportingResources.xaml资源文件
ResourceDictionary reportTemplate = new ResourceDictionary();
reportTemplate.Source = new Uri("/My.Namespace;component/Resources/ReportingResources.xaml", UriKind.Relative);
template = reportTemplate[Report_Style] as DataTemplate;
return template;"Report_Style“实际上是一个在调用上述代码行之前在reportTemplateSelector转换器的Convert方法中设置的变量。
这里的问题是,ReportingResources.xaml依赖于GlobResources.xaml资源文件来获取其他一些内容。如何使上述代码行中的ReportingResources.xaml文件可以使用来自GlobResources.xaml的内容?
谢谢你的时间..。
发布于 2011-03-24 13:13:38
你有没有试过...
一个资源文件可以合并其他资源文件:
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="ResourceB.xaml"/>
</ResourceDictionary.MergedDictionaries>
<Style x:Name="MyButtonStyle" TargetType="Button">
<Setter Property="Background" Value="red"/>
</Style>
</ResourceDictionary>摘自Silverlight 3,0 Split styles and templates into different files and merge resources
https://stackoverflow.com/questions/4291531
复制相似问题