【问题标题】:Merged dictionaries and local resources合并字典和本地资源
【发布时间】:2013-09-05 00:32:26
【问题描述】:

我有一个 Styles.xaml,它将许多 ResourceDictionarys 分组到 MergedDictionary 中。

我在 UserControl.Resources 中导入了 Styles.xaml

<UserControl.Resources>
    <ResourceDictionary Source="Dictionaries\Styles.xaml" />
</UserControl.Resources>

但是当我尝试添加转换器时

<UserControl.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Dictionaries\Styles.xaml" /> <--! Exception -->
        </ResourceDictionary.MergedDictionaries>
        <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
    </ResourceDictionary>
</UserControl.Resources>

上升

ArgumentNullException:值不能为空。
参数名称:项目

将转换器包装在另一个 MergedDictionary 中没有任何效果。
我该如何解决这个问题?
谢谢大家!


已解决

我最终弄明白了:Exception 是在 .xaml 文件中提出的,但 Visual Studio 没有提供足够的信息来定位故障行。
以下代码确实有效。

<UserControl.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Dictionaries\Styles.xaml" />
        </ResourceDictionary.MergedDictionaries>
        <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
    </ResourceDictionary>
</UserControl.Resources>

【问题讨论】:

  • 它应该与您在编辑前的实施方式一致。你能分享你的 style.xaml 吗?
  • 是的,第二个代码应该没问题(可能你的 Styles.xaml 本身存在问题),如果你想使用第三个代码,你需要在合并目录标签中添加第二个资源字典
  • 谢谢@dnr3,您的评论解决了问题,这是样式字典中的样式有问题,所以 Styles.xaml 也有问题,这一切都没有工作,已修复,现在可以工作,谢谢大家

标签: wpf xaml dictionary resourcedictionary mergeddictionaries


【解决方案1】:

试试这个

<UserControl.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/PROJECTNAMESPACE (TestProject.Something);component/Dictionaries/Styles.xaml" /> 
        </ResourceDictionary.MergedDictionaries>
        <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
    </ResourceDictionary>
</UserControl.Resources>

【讨论】:

  • 在较长的行上出现同样的错误:值不能为空。这不是找到资源的问题,因为如果我改变了一些东西,它说它不能解决资源,它必须是不同的东西,恕我直言
  • 能否提供调用堆栈
猜你喜欢
  • 2011-02-07
  • 1970-01-01
  • 1970-01-01
  • 2019-06-21
  • 1970-01-01
  • 1970-01-01
  • 2016-10-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多