WPF: пространство имен XAML - PullRequest
       3

WPF: пространство имен XAML

1 голос
/ 28 декабря 2010

У меня есть одна сборка XAML, зарегистрированная в AssemblyInfo.cs:

[assembly: XmlnsDefinition("http://schemas.mysite.es/wpf", "SWC.ViewModels")]

И в моем пространстве имен я имею следующие классы:

namespace SWC.ViewModels
{
    public class MenuViewModel 
        : ObservableCollection<MenuViewModel>
    {
        public MenuViewModel() 
            : base()
        {
        }
    }
}

Если я использую пространство имен в пользовательском элементе управления XAML,

<UserControl x:Class="SWC.UserControls.UserMenu"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:customMenu="http://schemas.mysite.es/wpf">

Я могу использовать класс в своем пространстве имен XMLNS,

<UserControl.Resources>
        <customMenu:MenuViewModel x:Key="MenuItemsSource">

Но когда я запускаю приложение, компилятор сказал

The label 'MenuViewModel' dosen't exist in the namespace XML 'http://schemas.mysite.es/wpf'

Все, можете мне помочь ?? Я схожу с ума от этой проблемы! С уважением,

1 Ответ

1 голос
/ 29 декабря 2010

Я думаю, вам нужно указать сборку, в которой существуют ваши элементы управления customMenu.На сборку также необходимо ссылаться из проекта (в разделе «Ссылки»).

xmlns:customMenu="clr-namespace:customMenuNamespace;assembly=customMenuLibrary"

В противном случае я не вижу, как компилятор может найти вашу реализацию только через «http://schemas.mysite.es/wpf". Что по этому адресу?две схемы Microsoft

http://schemas.microsoft.com/winfx/2006/xaml/presentation
http://http://schemas.microsoft.com/winfx/2006/xaml

работают как некоторые идентификаторы для компилятора xaml, по этим адресам ничего нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...