Проблема пространства имен WPF XAML - PullRequest
1 голос
/ 23 марта 2011

Используя следующий код:

<ad:DockingManager x:Class="Main.AvalonDock.Views.AvalonDockView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:ad="clr-namespace:AvalonDock;assembly=AvalonDock" 
             xmlns:cal="http://www.codeplex.com/prism"
             mc:Ignorable="d" 
             d:DesignHeight="293" d:DesignWidth="504">
    <ad:ResizingPanel Margin="0,10,0,10" Orientation="Horizontal" >
        <ad:DockablePane cal:RegionManager.RegionName="MainLeftRegion" Name="leftDockablePane" />
        <ad:DocumentPane cal:RegionManager.RegionName="MainCenterRegion" Name="mainDocumentPane" />
        <ad:DockablePane cal:RegionManager.RegionName="MainRightRegion" Name="rightDockablePane" />
    </ad:ResizingPanel>
</ad:DockingManager>

Мои проекты называются Main.AvalonDock, который использует элемент управления AvalonDock. Он не будет компилироваться из-за несоответствия между пространством имен рекламы и пространством имен проекта. Есть ли обходной путь?

вот ошибка:

Тип или имя пространства имен DockablePane не существует в Пространство имен 'Main.AvalonDock' (вы пропустили сборку ссылка?)

1 Ответ

2 голосов
/ 24 марта 2011

Если вы посмотрите на AvalonDockView.g.cs (или AvalongDockView.g.vb) в папке obj ваших проектов, вы увидите основную проблему.

По сути, вы получите что-то вроде:

using Main.AvalonDock.Views {
    internal AvalonDock.DockablePane leftDockablePane;
    // ...
}

Используя спецификации разрешения типа C #, AvalonDock преобразуется в ваше пространство имен, а не в пространство сборки AvalonDock.

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