名称空间中不存在名称

Unc*_*Ben 5 c# datatemplate visual-studio-debugging uwp uwp-xaml

我正在使用VS 2015中的数据模板绑定开发一个简单的UWP项目.当我尝试指定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>
Run Code Online (Sandbox Code Playgroud)

这是班级:

namespace Adaptive_News_Layout
{
    public class NavItem
    {
        public string ButtonIcon { get; set; }
        public string SectionTitle { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

错误如下:名称"NavItem"在名称空间"using:Adaptive_News_Layout"中不存在

Unc*_*Ben 7

我想出了问题所在。这是 Visual Studio 2015 中的一个小故障。在 XAML 中添加命名空间后,最好编译/测试运行你的程序,否则你会遇到这个问题。要修复它:

  1. 删除有问题的命名空间引用以及该引用的所有用法。
  2. 执行测试运行/编译您的程序。
  3. 将命名空间引用重新添加到开始页面标记中
  4. 执行另一个测试运行/编译您的程序。
现在,当您使用新的命名空间引用时,编译器不会出现故障。

  • VS2019 中依然发生。就我而言,命名空间存在,但自从我向其中添加了新类以来,我还没有进行编译。删除了有问题的 XAML,编译并重新添加它,错误就消失了。 (2认同)