2010-11-27 50 views
0

我有我已經定義了一些本地資源的reports.xaml頁面。Silverlight ResourceDictionary問題

<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文件?

感謝您的時間...

+0

I」截取米猜測這是一個圖書館,你的基礎是你的資源字典被添加爲資源而不是內容。那是對的嗎?它是一個重要的細節,因爲在應用程序中,您將使用App.xaml來解決此問題。 – AnthonyWJones 2010-11-27 14:05:41

回答

0

你試過....

資源文件可以合併其他資源文件:

<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