ResourceDictionary 使用 UserControl -> Resources within UserControl cannot be resolved

ResourceDictionary makes use of UserControl -> Resources within UserControl cannot be resolved

我在 App.xaml 中将资源定义为 ResourceDictionary:

<Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/AssemblyName;component/Resources/HamburgerMenuStyles.xaml" />
                <!--…-->
            </ResourceDictionary.MergedDictionaries>
            <converters:LanguageConverter x:Key="LanguageConverter"/>
            <!--…-->
        </ResourceDictionary>
</Application.Resources>

然后,在上面代码中包含的 ResourceDictionary“HamburgerMenuStyles.xaml”中,我使用了一个 UserControl:

<mah:HamburgerMenu.OptionsItemsSource>
    <mah:HamburgerMenuItemCollection>
        <mah:HamburgerMenuIconItem Label="{localization:Loc tabConf}">
            <mah:HamburgerMenuIconItem.Icon>
                <!--…-->
            </mah:HamburgerMenuIconItem.Icon>
            <mah:HamburgerMenuIconItem.Tag>
                <controls:Settings/> <!--Calling the UserControl here-->
            </mah:HamburgerMenuIconItem.Tag>
        </mah:HamburgerMenuIconItem>
    </mah:HamburgerMenuItemCollection>
</mah:HamburgerMenu.OptionsItemsSource>

我收到错误,无法解析 UserControl 中使用的资源(那里使用的资源也放在 App.xaml 中),尽管代码可以编译并运行。怎么会? UserControl.xaml 本身没有智能感知错误。

示例: Visual Studio 抱怨 UserControl 中使用的转换器在 App.xaml 中被定义为资源并且在控件中没有显示任何错误 xaml + 编译和工作。

将“丢失的”资源添加到控件,编译然后再次删除资源解决了我的问题:

<mah:HamburgerMenu.OptionsItemsSource>
    <mah:HamburgerMenuItemCollection>
        <mah:HamburgerMenuIconItem Label="{localization:Loc tabConf}">
            <mah:HamburgerMenuIconItem.Icon>
                <!--…-->
            </mah:HamburgerMenuIconItem.Icon>
           <mah:HamburgerMenuIconItem.Tag>
                <controls:Settings>
                    <controls:Settings.Resources>
                        <converters1:InvertBoolConverter x:Key="InvertedBoolConverter"/>
                    </controls:Settings.Resources>
                </controls:Settings>
            </mah:HamburgerMenuIconItem.Tag>
        </mah:HamburgerMenuIconItem>
    </mah:HamburgerMenuItemCollection>
</mah:HamburgerMenu.OptionsItemsSource>

这似乎是一个错误。没有问题:-)