2013-10-16 80 views
0

我有一個類庫,其中包含一個ResourceDictionary,它包含Styles。 字典引用Converter,這是在同一個組件定義,像這樣:Style with Converter in other assembly

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        xmlns:converter="clr-namespace:Lib.Resources.Converters"> 

    <converter:TextSizeConverter x:Key="LabelTextSizeConverter" /> 

    <Style TargetType="{x:Type Label}"> 
     <Setter Property="FontSize" 
       Value="{Binding ActualWidth, RelativeSource={RelativeSource Self}, Converter={StaticResource LabelTextSizeConverter}}" /> 
    </Style> 

<ResourceDictionary /> 

當我嘗試加載另一個項目的字典,我得到一個XamlParseException,指出Converter類型未知的。

var rd = new ResourceDictionary() 
{ 
    Source = new Uri("pack://application:,,,/Lib.Resources;component/Styles/Label.xaml") 
}; 

Resources.MergedDictionaries.Add(rd); 

我試過各種BuildActions沒有任何成功的轉換器。

有沒有辦法解決這個問題,還是我需要以完全不同的方式來解決這個問題?

+0

你loook到這一點:http://msdn.microsoft.com/en-US/library/vstudio/aa970069.aspx? – Florian

+0

你能分享你如何合併被引用的字典嗎? – Nitin

+0

@nit:我添加了一些代碼。 – nuke

回答

1

您必須添加assembly在轉換器xmlns

xmlns:converter="clr-namespace:Lib.Resources.Converters;assembly=YOUR Assembly"