gpt4 book ai didi

wpf - 来自外部组件的问题引用转换器

转载 作者:行者123 更新时间:2023-12-01 05:40:08 25 4
gpt4 key购买 nike

我正在创建一个资源字典,我在其中引用了所有转换器,因此无需引用每个单独的转换器。
我的转换器在不同的程序集中,要导入它们,我执行以下操作:

  • 添加对外部组件的引用
  • 创建资源字典
  • 添加引用转换器程序集的 xml 命名空间
  • 引用转换器

  • 所以我的字典看起来像:
        <ResourceDictionary xmlns:Converters="clr-namespace:Client.Utilities.Converters;assembly=Client.Utilities">

    <Converters:BoolToBrushConverter x:Key="boolToBrush"/>

    </ResourceDictionary>

    但是,在尝试构建时出现以下异常:
    Error   18  The tag 'BoolToBrushConverter' does not exist in XML namespace 'clr-namespace:Client.Utilities.Converters;assembly=.Client.Utilities'. Line 12 Position 6.  C:\Resources.Tests\Resources\ResourceDictionaries\Converters\ConvertersResources.xaml   12  6   Client.eZenith.Resources.Tests

    任何想法为什么会这样?

    注:从智能感知看来,转换器程序集的命名空间是正确的,因为在键入 <Converter: 后所有转换器都显示在建议列表中。

    编辑 : VS 和混合设计器都能够在渲染控件预览时找到该转换器。

    编辑:我发现,这与合并字典无关。将转换器添加到 Window 的资源时,会出现同样的问题。

    最佳答案

    我最终发现了这个问题,它是 .NET 4 中引入的合并资源字典错误。

    我通过在合并的资源字典中添加一个空样式来修复它(以前我有一个 RD,我正在合并其他 RD 而没有其他任何东西)。

    here是我最近发现的一篇博客文章,它描述了同样的问题。

    关于wpf - 来自外部组件的问题引用转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6028270/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com