Я делаю пользовательский элемент управления. Он использует некоторые библиотеки из NuGet, а именно:
PanAndZoom
Wpf.Controls.PanAndZoom
Wpf.MatrixExtentions
Существует только пользовательский контроль xaml, его код позади и отдельный класс во всем проекте. Они как показано ниже:
<UserControl x:Class="DesignSurface"
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:paz="clr-namespace:Wpf.Controls.PanAndZoom;assembly=Wpf.Controls.PanAndZoom"
xmlns:local="clr-namespace:stigzler.controls.WPF.Workspace"
mc:Ignorable="d" Focusable="True"
d:DesignHeight="450" d:DesignWidth="800" Loaded="UserControl_Loaded">
<paz:ZoomBorder>
<Canvas x:Name="DesignCanvas" Background="DarkOliveGreen"></Canvas>
</paz:ZoomBorder>
</UserControl>
Код позади:
Public Class DesignSurface
Public Sub AddDesignItem(di As DesignItem)
DesignCanvas.Children.Add(di)
Canvas.SetLeft(di, di.Position.X)
Canvas.SetTop(di, di.Position.Y)
End Sub
End Class
И отдельный класс:
Public Class DesignItem
Inherits ContentControl
Private _position As Point
Public Property Position() As Point
Get
Return _position
End Get
Set(ByVal value As Point)
_position = value
End Set
End Property
Private _size As Size
Public Property Size() As Size
Get
Return _size
End Get
Set(ByVal value As Size)
_size = value
End Set
End Property
End Class
Теперь это прекрасно компилируется и выполняется. Однако, если я изменю xaml на это:
<paz:ZoomBorder x:Name="ZoomController">
При компиляции я получу:
Type Wpf.Controls.PanAndZoomBorder is not defined
Мое дерево решений:
![enter image description here](https://i.stack.imgur.com/MyPM1.png)
Я прочитал еще один пост о конфликтующих пространствах имен или о чем-то, но не могу понять, как это относится к этому сценарию. Странная ошибка - у кого-нибудь есть идеи?