【问题标题】:Silverlight: Add a resource dictionary from another projectSilverlight:添加来自另一个项目的资源字典
【发布时间】:2011-11-13 22:54:07
【问题描述】:

我在项目 A 中有一个 XAML 资源字典。如何将其合并到项目 B 中的资源字典中?

【问题讨论】:

  • 两个项目是否在同一个解决方案中?
  • 不,其中一个项目只能通过 DLL 访问。

标签: silverlight xaml


【解决方案1】:

其中 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>

【讨论】:

    【解决方案2】:

    这对我有用:

    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="/Namespace.From.Your.Dll;component/Style.xaml"/>      
    </ResourceDictionary.MergedDictionaries>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-13
      • 1970-01-01
      • 1970-01-01
      • 2017-12-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多