我有一个包含ResourceDictionary
的类库,其中包含一些Styles
。
字典引用Converter
,它在同一个程序集中定义,如下所示:
<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 :(得分:1)
您必须在转换器assembly
xmlns
xmlns:converter="clr-namespace:Lib.Resources.Converters;assembly=YOUR Assembly"