2016-07-05 9 views
4

Я работаю над простым проектом UWP, используя привязку шаблона данных в VS 2015. Когда я пытаюсь указать тип для Datatemplate, я получаю сообщение об ошибке.Имя не существует в пространстве имен

XAML:

<Page x:Name="RootPage" 
x:Class="Adaptive_News_Layout.MainPage" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:local="using:Adaptive_News_Layout" 
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
mc:Ignorable="d" FontSize="22" > 

<SplitView x:Name="MySplitView" Grid.Row="1" DisplayMode="CompactOverlay" Background="LightGray" OpenPaneLength="200" > 
      <SplitView.Pane> 
       <ListView x:Name="MyListview" ItemsSource="{x:Bind NavigationItems}" > 
        <ListView.ItemTemplate> 
         <DataTemplate x:DataType="local:NavItem" > 
          <StackPanel Orientation="Horizontal"> 
           <RelativePanel> 
            <Button x:Name="Icon" FontFamily="Segoe MDL2 Assets" Content="{x:Bind ButtonIcon}" Width="50" Height="50"/> 
            <TextBlock x:Name="Section" Text="{x:Bind SectionTitle}" RelativePanel.RightOf="Icon" /> 
           </RelativePanel> 
          </StackPanel> 
         </DataTemplate> 
        </ListView.ItemTemplate> 

Это класс:

namespace Adaptive_News_Layout 
{ 
    public class NavItem 
    { 
     public string ButtonIcon { get; set; } 
     public string SectionTitle { get; set; } 
    } 
} 

Ошибка гласит: Имя "NavItem" не существует в пространстве имен "с помощью: Adaptive_News_Layout"

+0

Как объявляется «местный»? – AlexDrenea

+0

Попробуйте создать решение, если есть какая-либо ошибка сборки. И перезапустите VS, проверьте, сохраняется ли ошибка. –

+0

В той же ситуации, вы получили эту работу? –

ответ

0

Я выяснил, в чем проблема. Это сбой в Visual Studio 2015. После добавления пространства имен в XAML лучше всего скомпилировать/протестировать свою программу или вы получите эту проблему. Чтобы исправить это:

  1. Исключить ссылку на пространство имен, о которой идет речь, и все способы использования этой ссылки.
  2. Проведите тестовый запуск/скомпилируйте свою программу.
  3. Добавить ссылку пространства имен обратно в тег открытия страницы
  4. Выполните еще один пробный запуск/скомпилируйте свою программу.
Теперь, когда вы используете новую ссылку на пространство имен, компилятор не выйдет из строя.

+0

Типичная функция Micosh * t '... –

0

Вы должны объявить «локальное» пространство имен в разделе, которое можно найти в верхней части файла xpl ypur. Вы увидите много пространства имен с форматом xmlns: Name = "value" Укажите свое пространство имен с именем = local и значением как ваше пространство имен

+0

Это тег начальной страницы моей программы: «Местное» пространство имен объявлено там <Страница x: Имя = "RootPage" x: Класс = "Adaptive_News_Layout.MainPage" xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns: x = "http://schemas.microsoft. com/winfx/2006/xaml " xmlns: local =" using: Adaptive_News_Layout " xmlns: d =" http://schemas.microsoft.com/expression/blend/2008 " xmlns: mc =" http: // schemas.openxmlformats.org/markup-compatibility/2006 " mc: Ignorable =" d "FontSize =" 22 "> ' –

+0

5-я строка читает ** xmlns: local =" используя: Adaptive_News_Layout "** –

 Смежные вопросы

  • Нет связанных вопросов^_^