Почему был бы, добавляя x:Name приписать причине пользовательского элемента управления ошибку компиляции?

Мне действительно нужны еще некоторые идеи относительно того, что вызывает это, в настоящее время это управляет мной стена.

У меня есть пользовательский элемент управления Xaml, который содержит другой пользовательский элемент управления как это:


<UserControl x:Class="MyModule.View.MainView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:igDock="http://infragistics.com/DockManager"
    xmlns:views="clr-namespace:MyModule.View"
    >
  <StackPanel x:Name="panel">
    <views:MyHeaderView/>
    <igDock:XamDockManager x:Name="dockingManager"/>
  </StackPanel>
</UserControl>

Это в модуле Призмы (следовательно название MyModule), но иначе я не думаю, что это - что-либо особенно необычное.

Теперь, как только я добавляю, что имя к заголовку просматривает сбои кода для компиляции, например.

<views:MyHeaderView x:Name="header"/>

Ошибка, которую я возвращаю, просто:

"The type name 'View' does not exist in the type MyModule.MyModule'"

Я попытался переместить содержавший пользовательский элемент управления в другое пространство имен, создав пустой пользовательский элемент управления и пробуя тем (тот же результат) и удалив XamDockManager, но ничто, кажется, не имеет никакого значения.

Кто-либо может пролить какой-либо свет на это?

8
задан Dave Clemmer 13 January 2013 в 19:28
поделиться

3 ответа

Думаю, я нашел ответ.

Если я переименую класс модуля в MyModuleThingy, он компилируется. Кажется, проблема возникает из-за того, что класс модуля имеет то же имя, что и пространство имен, которое его содержит (MyModule.MyModule).

Если кто-нибудь может сообщить мне, почему это может быть проблемой, мне было бы очень интересно узнать. В частности, потому, что я унаследовал много кода, который, кажется, является общим шаблоном в данной конкретной реализации Prism.

6
ответ дан 5 December 2019 в 17:33
поделиться

Может быть, у вас есть класс с именем "View", как и пространство имен?

0
ответ дан 5 December 2019 в 17:33
поделиться

WPF не любит, когда вы используете x: Name для элемента управления, определенного в вашей сборке, при условии, что xmlns: views = "clr-namespace: MyModule.View" - это та же сборка, что и ваша

Используйте имя, и все будет в порядке

0
ответ дан 5 December 2019 в 17:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: