合并字典和本地资源 [英] Merged dictionaries and local resources

查看:227
本文介绍了合并字典和本地资源的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个问题:
我的样式文件夹中有mi样式,而Styles.xaml组合了所有这些。

I have this problem: I have mi styles in my Styles folder, and the Styles.xaml groups all of them.

现在我想将此Styles.xaml字典导入到我的用户控件中,然后执行

Now I want to import this Styles.xaml dictionary into my usercontrol, and I do

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

但是当我尝试通过这种方式向UserControl的资源添加一个转换器

but when I try to add a converter to the UserControl's resources this way

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

它强调所选行说


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

ArgumentNullException: Value cannot be null. Parameter name: item

我该如何解决?
谢谢大家!

how can I solve? thank you all!

编辑:

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

我在选定的行上说


每个字典条目必须有一个关联的键

Each dictionary entry must have an associated key

如果我给它一个键,我返回说老导入字典中的错误:|

and if i give it a key i returns saying the old error on the imported dictionary :|

请帮助

SOLVED

风格有问题,工作版本是

there was a problem with a style, the working version is

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


推荐答案

尝试这个

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

这篇关于合并字典和本地资源的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆