错误:“无法创建未知类型\'{clr-namespace:NameSpace.Properties}设置”。

| 我在ResourceDictionary中定义设置和样式:
<ResourceDictionary xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"
                    xmlns:x=\"http://schemas.microsoft.com/winfx/2006/xaml\"
                    xmlns:properties=\"clr-namespace:Kavand.UI.Properties\">
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary>
            <properties:Settings x:Key=\"settings\" />
        </ResourceDictionary>
    </ResourceDictionary.MergedDictionaries>
    <Style x:Key=\"PopupMenu_StackPanel\">
        <Setter Property=\"TextBlock.FontSize\" Value=\"{Binding Source={StaticResource settings}, Path=Default.Font_Menu_Size}\" />
        <Setter Property=\"TextBlock.FontFamily\" Value=\"{Binding Source={StaticResource settings}, Path=Default.Font_Menu_Family}\" />
        <Setter Property=\"TextBlock.FontWeight\" Value=\"{Binding Source={StaticResource settings}, Path=Default.Font_Menu_Weight}\" />
        <Style.Resources>
            <Style TargetType=\"{x:Type MenuItem}\" BasedOn=\"{StaticResource KavandMenuItem}\">
                <Style.Triggers>
                    <Trigger Property=\"IsChecked\" Value=\"true\">
                        <Setter Property=\"IsEnabled\" Value=\"false\" />
                    </Trigger>
                    <MultiTrigger>
                        <MultiTrigger.Conditions>
                            <Condition Property=\"IsChecked\" Value=\"True\" />
                            <Condition Property=\"IsHighlighted\" Value=\"True\" />
                        </MultiTrigger.Conditions>
                        <Setter Property=\"Foreground\" Value=\"{DynamicResource K_Brush_Gray}\" />
                    </MultiTrigger>
                </Style.Triggers>
            </Style>
        </Style.Resources>
    </Style>
</ResourceDictionary>
运行我的应用程序时,出现错误:   \'无法创建未知类型   \'{clr-namespace:Kavand.UI.Properties}设置\'。\'   行号\'6 \'和行位置   \ '14 \'。     
已邀请:
        我已将文件的“生成操作”属性设置为“资源”。当我将其更改为\“ Page \”时,问题已解决。     
        将您的“生成操作”属性保留为“资源”,只需更改此行:  xmlns:properties = \“ clr-namespace:Kavand.UI.Properties \” 有了这个:  xmlns:properties = \“ clr-namespace:Kavand.UI.Properties; assembly = Kavand.UI \”     
        刚刚发布了另一个潜在的解决方案,因为我最近偶然发现了此异常。 可能是您引用的类定义(在您的情况下为\“ Kavand.UI.Properties.Settings \”)未使用\“ public \”-access-modifier。 因此,就我而言,我可以通过在类定义之前编写public来解决此问题。     

要回复问题请先登录注册