Ошибка «Ссылка на тип не может найти открытый тип ...» в пользовательском элементе управления WPF - PullRequest
1 голос
/ 01 сентября 2011

Я пробую свой первый пользовательский элемент управления WPF.Я почти ничего не сделал, и он не скомпилируется.Я получаю сообщение об ошибке в своем файле generic.xaml, в котором говорится: «Ссылка на тип не может найти открытый тип с именем« Диафильм ». Строка 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)));
        }
    }
}

Чего мне не хватает?

Ответы [ 2 ]

3 голосов
/ 01 сентября 2011

clr-namespaces:Unicorn.Controls должно быть clr-namespace:Unicorn.Controls. Единственное число, а не множественное число.

2 голосов
/ 01 сентября 2011

Похоже, у вас есть синтаксическая ошибка в вашем xaml.Следующая строка:

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

должна быть

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

Кроме того, если вы не используете сборку, не забудьте использовать параметр сборки для ссылки на другие сборки.

...