C# DataTemplate x:绑定命名空间错误

C# DataTemplate x:绑定命名空间错误,c#,visual-studio,xaml,uwp,C#,Visual Studio,Xaml,Uwp,我有一个关于使用Visual Studio 2015开发Windows 10 UWP的问题 根据教程,我正在尝试为我的GridView使用DataTemplate。我遇到的问题是我的命名空间 我不被允许分享我的确切代码,原因很明显,但我想知道你们当中是否有人曾经遇到过这种情况。我得到的错误与person几乎相同(错误代码0x09c4),只是我的DataTemplate在我的代码隐藏文件中,不像他/她那样是全局的。除了这个错误,我还得到了一个假象“名称空间中不存在名称空间” 下面是我的xaml文件

我有一个关于使用Visual Studio 2015开发Windows 10 UWP的问题

根据教程,我正在尝试为我的GridView使用DataTemplate。我遇到的问题是我的命名空间

我不被允许分享我的确切代码,原因很明显,但我想知道你们当中是否有人曾经遇到过这种情况。我得到的错误与person几乎相同(错误代码0x09c4),只是我的DataTemplate在我的代码隐藏文件中,不像他/她那样是全局的。除了这个错误,我还得到了一个假象“名称空间中不存在名称空间”

下面是我的xaml文件的一部分:

<Grid>
...
    <GridView ItemsSource="{x:Bind ViewModel.AssessExItems}">
        <GridView.ItemTemplate>
            <DataTemplate x:DataType="local:AssessExItem">

            </DataTemplate>
        </GridView.ItemTemplate>
    </GridView>
</Grid>
public sealed partial class AssessmentExample1Screen : Page
{
    public AssessExItemViewModel ViewModel { get; set; }

    public AssessmentExample1Screen()
    {
        this.InitializeComponent();
        this.ViewModel = new AssessExItemViewModel();
    }
}

public class AssessExItem
{
    public int _assessment_id { get; set; }
    public string name { get; set; }
    public string surname { get; set; }
    public string date { get; set; }

    //public EmpAssessItem() { }
}

public class AssessExItemViewModel
{
    private ObservableCollection<AssessExItem> exampleItems = new ObservableCollection<AssessExItem>();
    public ObservableCollection<AssessExItem> AssessExItems { get { return this.exampleItems; } }

    public AssessExItemViewModel()
    {
        //for (int i = 1; i < 3; i++)
        //{
        this.exampleItems.Add(new AssessExItem()
        {
            name = "Cat 777",
            surname = "Botha",
            date = "2015-03-22"
        });
        //}
        this.exampleItems.Add(new AssessExItem()
        {
            name = "XZR 678",
            surname = "Botha",
            date = "2015-03-22"
        });
        this.exampleItems.Add(new AssessExItem()
        {
            name = "TBL 123",
            surname = "Botha",
            date = "2015-03-22"
        });
    }
}

...
我知道DataTemplate是空的,但即使我在那里输入了一些内容,它仍然不起作用。这是我的xaml文件的代码隐藏文件:

<Grid>
...
    <GridView ItemsSource="{x:Bind ViewModel.AssessExItems}">
        <GridView.ItemTemplate>
            <DataTemplate x:DataType="local:AssessExItem">

            </DataTemplate>
        </GridView.ItemTemplate>
    </GridView>
</Grid>
public sealed partial class AssessmentExample1Screen : Page
{
    public AssessExItemViewModel ViewModel { get; set; }

    public AssessmentExample1Screen()
    {
        this.InitializeComponent();
        this.ViewModel = new AssessExItemViewModel();
    }
}

public class AssessExItem
{
    public int _assessment_id { get; set; }
    public string name { get; set; }
    public string surname { get; set; }
    public string date { get; set; }

    //public EmpAssessItem() { }
}

public class AssessExItemViewModel
{
    private ObservableCollection<AssessExItem> exampleItems = new ObservableCollection<AssessExItem>();
    public ObservableCollection<AssessExItem> AssessExItems { get { return this.exampleItems; } }

    public AssessExItemViewModel()
    {
        //for (int i = 1; i < 3; i++)
        //{
        this.exampleItems.Add(new AssessExItem()
        {
            name = "Cat 777",
            surname = "Botha",
            date = "2015-03-22"
        });
        //}
        this.exampleItems.Add(new AssessExItem()
        {
            name = "XZR 678",
            surname = "Botha",
            date = "2015-03-22"
        });
        this.exampleItems.Add(new AssessExItem()
        {
            name = "TBL 123",
            surname = "Botha",
            date = "2015-03-22"
        });
    }
}
公共密封部分课程评估示例1屏幕:第页
{
公共评估项目视图模型视图模型{get;set;}
公共评估示例1屏幕()
{
this.InitializeComponent();
this.ViewModel=新的AssessExItemViewModel();
}
}
公开课评估项目
{
公共int评估id{get;set;}
公共字符串名称{get;set;}
公共字符串姓氏{get;set;}
公共字符串日期{get;set;}
//公共项(){}
}
公共类AssessExItemViewModel
{
私有ObservableCollection exampleItems=新ObservableCollection();
公共ObservableCollection评估项{get{返回this.exampleItems;}
公共评估项目视图模型()
{
//对于(int i=1;i<3;i++)
//{
this.exampleItems.Add(新的AssessExItem()
{
name=“Cat 777”,
姓氏=“博塔”,
日期=“2015-03-22”
});
//}
this.exampleItems.Add(新的AssessExItem()
{
name=“XZR 678”,
姓氏=“博塔”,
日期=“2015-03-22”
});
this.exampleItems.Add(新的AssessExItem()
{
name=“TBL 123”,
姓氏=“博塔”,
日期=“2015-03-22”
});
}
}
请帮忙。

我重现了你的问题。 如何解决:清理并构建或重建解决方案。然后我测试了它,它工作了。 我想最可能的原因是build可以更新mainpage.g.cs文件,它决定了在哪里找到数据类型

   <GridView ItemsSource="{x:Bind ViewModel.AssessExItems}">
        <GridView.ItemTemplate>
            <DataTemplate x:DataType="local:AssessExItem">
                <StackPanel Height="100" Width="100" Background="OrangeRed">
                    <TextBlock Text="{x:Bind name}"/>
                    <TextBlock Text="{x:Bind  surname}" x:Phase="1"/>
                    <TextBlock Text="{x:Bind date}" x:Phase="2"/>
                </StackPanel>
            </DataTemplate>
        </GridView.ItemTemplate>
    </GridView>

谢谢你的回答!是的,我通过清理和重建使它工作起来。尽管我必须从头开始手动重新键入整个xaml文件,保存它们,关闭它们,重新启动visual studio,最后在再次打开文件之前重建并运行项目。更重要的是,这只是有时起作用。。。不知道为什么,但我现在明白了。不知道要多久。