Еще одна странная ошибка WPF:
У меня есть пользовательский элемент управления на простой странице XAML. Проект строится и работает отлично, без ошибок.
Вот XAML:
<Window x:Class="Grapher2.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:graph="clr-namespace:Grapher2"
Title="Grapher" Width="800" Height="600">
<StackPanel Name="container" Width="700" Height="500">
<graph:GraphCanvas x:Name="graphCanvas" Width="700" Height="500" Background="#ddd" />
</StackPanel>
Но когда я пытаюсь просмотреть страницу XAML в окне дизайнера XAML, я получаю сообщение:
«Проблема при загрузке - в документе содержатся ошибки, которые необходимо исправить ...»
Когда я нажимаю ссылку «Перезагрузить конструктор», в списке ошибок появляется сообщение:
"Ссылка на объект не установлена для экземпляра объекта"
и строка, начинающаяся с «graph: GraphCanvas ...» подчеркнута.
Я изначально разрабатывал на нашем сервере разработки, и там все было так же, кроме ошибки:
"Запрос на разрешение типа 'System.Security.Permissions.SecurityPermission (... бла-бла ... сбой.)"
Опять же, все работает отлично, за исключением того, что я не могу просмотреть страницу в окне дизайнера XAML, что мешает мне разрабатывать остальную часть приложения.
Я пытался очистить, построить, восстановить и все комбинации команд этих команд, но безуспешно.
EDIT:
Пожалуйста, имейте в виду, что это мой первый пользовательский элемент управления, и я мог делать что-то ужасно, ужасно неправильно. Как я уже сказал, приложение компилируется и прекрасно работает, поэтому я немного озадачен.
РЕДАКТИРОВАНИЕ № 2:
Мой производный холст не является частичным классом. Из моего понимания того, как работает InitializeComponent
( Что делает InitializeComponent () и как он работает в WPF? ), нет автоматически сгенерированного частичного класса, который содержит InitializeComponent
, связанный с моим элементом управления , Опять же, элемент управления отлично работает без него, за исключением нарушения дизайна XAML.