【发布时间】:2011-11-13 22:54:07
【问题描述】:
我在项目 A 中有一个 XAML 资源字典。如何将其合并到项目 B 中的资源字典中?
【问题讨论】:
-
两个项目是否在同一个解决方案中?
-
不,其中一个项目只能通过 DLL 访问。
标签: silverlight xaml
我在项目 A 中有一个 XAML 资源字典。如何将其合并到项目 B 中的资源字典中?
【问题讨论】:
标签: silverlight xaml
其中 Granite.Xaml 是库,而 ConvertersList.xaml 已被标记为资源。
<ResourceDictionary Source="/Granite.Xaml;component/ConvertersList.xaml" />
这里是资源字典的内容。请注意,即使转换器与字典在同一个项目中,我也必须在命名空间声明中包含程序集名称。如果你不这样做,你会得到一个运行时异常。
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:converters="clr-namespace:Granite.Xaml.Converters;assembly=Granite.Xaml"
>
<converters:BoolToVisibilityConverter x:Key="BoolToVisibilityConverter" />
<converters:DebugBreakConverter x:Key="DebugBreakConverter" />
<converters:DebugTraceConverter x:Key="DebugTraceConverter" />
<converters:DictionaryConverter x:Key="DictionaryConverter" />
<converters:MaxLengthToBoolTrueConverter x:Key="MaxLengthToBoolTrueConverter" />
<converters:MinLengthToBoolTrueConverter x:Key="MinLengthToBoolTrueConverter" />
<converters:NotBoolToVisibilityConverter x:Key="NotBoolToVisibilityConverter" />
<converters:NotConverter x:Key="NotConverter" />
<converters:NotNullToBooleanConverter x:Key="NotNullToBooleanConverter" />
<converters:NotNullToVisibilityConverter x:Key="NotNullToVisibilityConverter" />
<converters:NotZeroToBooleanConverter x:Key="NotZeroToBooleanConverter" />
<converters:NotZeroToVisibilityConverter x:Key="NotZeroToVisibilityConverter" />
<converters:NullToBooleanConverter x:Key="NullToBooleanConverter" />
<converters:NullToVisibilityConverter x:Key="NullToVisibilityConverter" />
<converters:StringToBooleanConverter x:Key="StringToBooleanConverter" />
<converters:StringToLowerConverter x:Key="StringToLowerConverter" />
<converters:StringToUpperConverter x:Key="StringToUpperConverter" />
<converters:ZeroToBooleanConverter x:Key="ZeroToBooleanConverter" />
<converters:ZeroToVisibilityConverter x:Key="ZeroToVisibilityConverter" />
</ResourceDictionary>
【讨论】:
这对我有用:
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Namespace.From.Your.Dll;component/Style.xaml"/>
</ResourceDictionary.MergedDictionaries>
【讨论】: