多个项目的外部资源词典

问题描述 投票:0回答:1

我正在尝试将我的资源字典(xamarin)包含在多个android应用程序中,因为每个应用程序都应具有相同的背景,标签..您知道我的意思。 :D

我尝试了什么?

  • 我已经测试过我的样式和应用程序是否在同一项目中一起工作。我已经创建了一个外部.net标准库来对其进行集中管理。

    <?xml version="1.0" encoding="utf-8" ?>
    <ResourceDictionary
       xmlns="http://xamarin.com/schemas/2014/forms"
       xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">

        <Color x:Key="PrimaryText">#FAFAFA</Color>
        <Color x:Key="SecondaryText">#F5F5F5</Color>
        <Color x:Key="HintText">#80FFFFFF</Color>

  • 我已将引用(Styles.dll)添加到我的应用程序中
  • [当我想将样式添加到(例如)标签时,我使用“ StaticResource”和“ DynamicResource”。当我使用StaticResource并运行程序时,它将引发“ Xamarin.Forms.Xaml.XamlParseException:'位置40:20。找不到KeyErrorTextColor'的StaticResource''”。当我使用DynamicResource时,应用程序启动,但没有采用样式。
  • 在app.xaml中,我已经添加了名称空间和程序集

    <?xml version="1.0" encoding="utf-8" ?>
    <prism:PrismApplication xmlns="http://xamarin.com/schemas/2014/forms"
                 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                 xmlns:theme="clr-namespace:Styles;assembly=Styles"
                 xmlns:prism="clr-namespace:Prism.DryIoc;assembly=Prism.DryIoc.Forms"

        <Application.Resources>
            <ResourceDictionary>
                <ResourceDictionary.MergedDictionaries>
                  <theme:BlackStyleDictionary/>
                </ResourceDictionary.MergedDictionaries>
            </ResourceDictionary>
        </Application.Resources>
    </prism:PrismApplication>

  • [我搜索了很多之后,我发现我实际上可以使用“ mergedDictionary”将其包含到我的项目中,但是那不起作用-“ ResourceDictionary Source =” ... Path“对我也不起作用。] >

    <Application.Resources>        
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
              <theme:BlackStyleDictionary/>
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>

  • 我在Google上花费了很多时间,但找不到答案,因此需要您解决。 :)
  • 什么有效?

正如我上面提到的,当我在当前应用中使用style.xaml时,一切正常,因此resourcedirectary没有问题。


如果您需要解决方案的更多信息,请随时提出要求。 :)

非常感谢,

JaqSparrow

我正在尝试将我的资源字典(xamarin)包含在多个android应用程序中,因为每个应用程序都应具有相同的背景,标签..您知道我的意思。 :D我尝试了什么?我有...

xaml xamarin xamarin.forms xamarin.android xamarin.ios
1个回答
0
投票

问题是ResourceDictionaries中没有调用InitializeComponent方法,这反过来再也不会将它们加载到资源字典中并引起问题。

© www.soinside.com 2019 - 2024. All rights reserved.