c# - 数据模板 x :Bind namespace error

标签 c# visual-studio xaml uwp

我对使用 Visual Studio 2015 进行 Windows 10 UWP 开发有疑问。

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

出于明显的原因,我不允许分享我的确切代码,但我想知道你们中的某个人以前是否遇到过这个问题。我得到的错误几乎与 this 相同人(错误代码 0x09c4),除了我的 DataTemplate 在我的代码隐藏文件中,不像他/她那样全局。除了那个错误,我还得到了虚幻的“命名空间 _namespace 中不存在 _name”。

这是我的 xaml 文件的一部分:

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

            </DataTemplate>
        </GridView.ItemTemplate>
    </GridView>
</Grid>

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

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"
        });
    }
}

请帮忙。

最佳答案

我重现了你的问题。 如何解决:清理并构建或重建解决方案。然后我对其进行了测试,它可以工作。 我猜它发生的最可能原因是构建可以更新文件 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>

关于c# - 数据模板 x :Bind namespace error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34038631/

相关文章:

c# - 当应用程序通过 Windows API 全屏显示时,菜单不合适

c++ - Visual Studio 2012 __cplusplus 和 C++ 11

c++ - 将 Visual Studio 项目链接到库

c# - 无法使用 pack URI 设置 ImageSource

c# - 如何将 html 友好的 ascii 代码转换为 c# 中的字符串?

c# - 如何在不同的类中检查 WPF 元素的属性?

c# - Setter 目标名称无法识别

c# - 如何将批量图像实时转换和压缩为 mp4 视频文件?

c# - Windows 窗体 - 如何在 C# 的组合框项目中添加不可选的标题?

Visual Studio 2015 中未检测到 Android 手机