【问题标题】:Silverlight ResourceDictionary problemSilverlight 资源字典问题
【发布时间】:2010-11-27 12:00:35
【问题描述】:

我有 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 文件中,我有一个像这样的内容控件...

<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 资源文件以获取其他一些内容。如何使 GlobResources.xaml 中的内容可用于上述代码行中的 ReportingResources.xaml 文件?

感谢您的宝贵时间...

【问题讨论】:

  • 我猜这是您正在构建的库,其基础是您的资源字典被添加为资源而不是内容。那是对的吗?这是一个重要的细节,因为在应用程序中您将使用 App.xaml 来解决此问题。

标签: silverlight resourcedictionary


【解决方案1】:

你试过了吗……

一个资源文件可以合并其他资源文件:

<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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-16
    • 1970-01-01
    相关资源
    最近更新 更多