类型引用找不到公共类型…"在WPF自定义控件中出现错误

本文关键字:类型 自定义控件 WPF 错误 quot 找不到 引用 | 更新日期: 2023-09-27 18:07:07

我正在尝试我的第一个WPF自定义控件。我几乎什么都没做,它也不会编译。我在泛型中得到一个错误。类型引用找不到名为'Filmstrip'的公共类型。第7行位置50(第7行是样式开始标签)

Generic.xaml:

<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespaces:Unicorn.Controls">
    <Style TargetType="{x:Type local:Filmstrip}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type local:Filmstrip}">
                    <Border Background="{TemplateBinding Background}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}">
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>

Filmstrip.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace Unicorn.Controls
{
    public class Filmstrip : Control
    {
        static Filmstrip()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(Filmstrip), new FrameworkPropertyMetadata(typeof(Filmstrip)));
        }
    }
}

我错过了什么?

类型引用找不到公共类型…"在WPF自定义控件中出现错误

clr-namespaces:Unicorn.Controls应为clr-namespace:Unicorn.Controls。单数,不是复数

您的xaml中出现了语法错误。下面一行:

xmlns:local="clr-namespaces:Unicorn.Controls"
应该

xmlns:local="clr-namespace:Unicorn.Controls"

此外,除非这是您正在使用的程序集,否则不要忘记使用assembly参数来引用其他程序集。